を使用してMacOSX Mountain LionにMySQLをインストールしましhomebrew install mysql
たが、試してみるmysql -u root
と次のエラーが発生しました。
エラー2002(HY000):ソケット'/tmp/mysql.sock'を介してローカルMySQLサーバーに接続できません(2)
このエラーはどういう意味ですか?どうすれば修正できますか?
mysql
ターミナルでコマンドを使用する前に、MySQLを起動する必要があります。これを行うには、を実行しますbrew services start mysql
。デフォルトでは、brewはrootパスワードなしでMySQLデータベースをインストールします。それを保護するには、以下を実行しますmysql_secure_installation
。
実行に接続するには:mysql -uroot
。root
ここでのユーザー名はです。
これは自作のインストール後に発生し、権限の問題が原因で発生します。次のコマンドで問題が修正されました。
sudo chown -R _mysql:mysql /usr/local/var/mysql
sudo mysql.server start
MySQLがインストールされているが、まだ実行されていないことが原因である可能性があります。
実行されていることを確認するには、Activity Monitorを開き、[すべてのプロセス]で、プロセス「mysqld」が表示されていることを検索して確認します。
「MySQL.prefPane」をインストールすることで開始できます。
これが私を助けた完全なチュートリアルです:http: //obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html
走る:brew info mysql
そして、指示に従ってください。式の説明から:
Set up databases to run AS YOUR USER ACCOUNT with:
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
mysql_install_db --help
and view the MySQL documentation:
* http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
* http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html
お役に立てれば。
他の人が指摘しているように、これはMySQLがインストールされているが、サービスが実行されていないためです。MySQLサービスを開始する方法はたくさんありますが、私にとってうまくいったのは以下のとおりです。
サービスを開始するには:
私の環境:
Mac Yosemite 10.10.3
インストールされているパッケージ:/Volumes/mysql-advanced-5.6.24-osx10.8-x86_64
ソリューションは以下を中心に展開します。
MySQLの権限の変更
sudo chown -R _mysql:mysql /usr/local/var/mysql
MySQLプロセスの開始
sudo mysql.server start
ここやさまざまな投稿から提供された多くの便利な回答を追加するために、上記のコマンドでこの問題が解決しない場合は、ホストを指定してみてください。
mysql -u root -p h127.0.0.1
/usr/local/var/mysql
フォルダ内のすべてのデータベースが削除されますMySQLをHomebrewと一緒にインストールしましたが、これを修正したのはMySQLを再インストールすることだけでした。
会社のラップトップでは、Homebrewを介してコンピューターからMySQLをアンインストールする権限がありませんでした。
$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12
代わりに、MySQLを手動で削除して再インストールしました。
$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql
そしてそれはうまくいきました!
mysqlサーバーが起動していないようです。私は通常、停止コマンドを実行してから、それを再開します。
mysqld stop
mysql.server start
同じエラー、そしてこれは私のために働きます。
brew install mysql
以下に、この問題の新しい検索が役立つように、最新の手順を示します。
$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz
To connect:
mysql -uroot
To have launchd start mysql at login:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
私の場合、mysqlを経由launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
してロードし、起動$ mysql
して途中で実行できました。
これが最近のトラブルシューティングに役立つことを願っています!
/usr/local/var/mysql
このフォルダアクセスに関連する問題は、このフォルダを削除してmysqlを再インストールします。
brewでmysqlをアンインストールします:
brew uninstall mysql
sudo rm -r /usr/local/var/mysql
brew install mysql@8.0
mysql -u root
この解決策は私にとってはうまくいきます! しかし、あなたはすべてのデータベースを失いました!警告!
これにより、mysqlサービスを再起動したときの問題が修正されました。とにかく走れ:
brew services start mysql
ああ、それは私が理解するのに少し時間がかかりました。コメントで見ました。brewを使用してmysqlをインストールし、サービスを開始した後(おそらくを使用してsudo brew services start mysql
)、次を実行します。
$ mysqld
その後、MySQLが実行されているはずです。
指定されたデータディレクトリ/usr/ local / var /mysql/は使用できません。サーバーが追加したすべてのファイルを削除できます。
MacOS:
$brew services stop mysql
$brew services list
$brew uninstall mysql
$brew install mysql
$brew postinstall mysql
If Any error found then run those cmd
$sudo rm -rf /usr/local/var/mysql
$sudo rm /usr/local/etc/my.cnf
$brew postinstall mysql
$brew services start mysql
$mysql_secure_installation
$mysql -u root -p
mysqlを設定しました。おめでとうございます。
私にとっては、実行するのと同じくらい簡単でした。
/usr/local/opt/mysql/bin/mysqld_safe
それ以外のmysqld
私の場合、それは単にロックファイルを削除することの問題でした。
sudo rm -f /tmp/mysql.sock.lock
私は自分の問題の解決策を見つけました。それは確かに私のMySQLサーバーが実行されていなかったためです。
これは、MySQLが私のマシンで正しくセットアップされておらず、実行できないことが原因でした。
これを修正するために、Mac OSX Mountain LionにMySQLをインストールするスクリプトを使用しました。これにより、不足しているファイルがインストールされているはずです。
リンクは次のとおりです:http://code.macminivault.com/
重要な注意: このスクリプトは、rootパスワードをランダムに生成された文字列として設定し、デスクトップに保存するため、このファイルを削除しないように注意し、パスワードをメモしてください。また、システム環境設定にMySQLマネージャーをインストールします。また、既存のデータベースを削除するかどうかもわかりませんので、注意してください。
これに数時間取り組んだ後、私にとってうまくいったのは/ etc /mysql/に移動してmy.cnfファイルを編集することでした。以下を追加します
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
私はこの問題を経験し、以下の解決策を使用してmysqlサーバーを実行することができました
.dmg
(https://dev.mysql.com/downloads/mysql/5.7.html )からmysqlをインストールすると、システム環境設定でmysqlサービスパネルが表示され、パネルからmysqlを起動して試してください。
mysql -u root -p
参考のために添付された画像
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sockのように、この問題を解決するためのあらゆる可能な方法を試しました。mysqlをアンインストールして再インストールし、mysqlがxamppで実行されていることを確認しましたが、まだ機能していません。 。
最後に、my.cnf(構成ファイル)を開き、ソケットパスをコピーします(フルパスをコピーしてください。そうしないと機能しません)。次に、端末でこのコマンドを実行します
mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
見よ、mysqlが起動します。
このソリューションは、MySQLがXampp / Amppsで実行されていることが示されている場合にのみ機能しますが、ターミナルでは、次のようなことをすでに試みている場合でも、正しいソケットに接続していません。
./mysql -u root
また
brew services start mysql
これがお役に立てば幸いです。
これだけが私にとってトリックになりました
brew services start --all
(すべての答えを試した後)
実行することをお勧めします
mysql.server start
行く前に
mysql -u root -p
ログインを試みる前に、mysqlサーバーが実行されていることを確認するため
これは、mysqlサーバーが実行されていないマシンを起動/再起動したときに何度も発生します。
私はこの投稿に戻ってきます、私はこのエラーに数回遭遇しました。フレッシュインストールを実行した後、すべてのデータベースをインポートする必要がある場合があります。
私は自作を使用しています。私のためにそれを修正するために使用された唯一のもの:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
今朝、私のマシンが一晩シャットダウンすることを決定した後、問題が再発しました。今それを修正した唯一のことはmysqlをアップグレードすることでした。
brew upgrade mysql
多くの解決策を試した後、最終的にトリックを行ったのはIPで接続することだったようです。ファイルソケットがランダムに削除されることはなくなりました。
MySQLクライアント構成(例/usr/local/etc/my.cnf
)を次のように更新するだけです。
[client]
port = 3306
host=127.0.0.1
protocol=tcp
上記のすべてのソリューションを使用した後、私には何も機能しませんでしたが、これは機能しました。
HomeBrewを使用してMySQLをインストールし、Macで[システム設定]> [MySQL]をチェックして、実行中の場合はMySQLサーバーが停止していることを確認します mysqlserver.start
。
それが機能しない場合は、次のことも試すことができます:-
MySQLワークベンチもインストールしている場合は、MySQLワークベンチとMySQLをアンインストールし、その後、最初にMySQLをインストールしてから、MySQLワークベンチをインストールします。
おそらく、自作のmysqlのインストール中にいくつかの問題に直面し、mysqlサービスが実行されていない可能性があります。その場合は、以下の手順を試してmysqlを適切に再インストールしてから、接続を試みることをお勧めします。
sudo chown -R $(whoami) /usr/local/var
sudo chown -R $(whoami) /Library/Caches/Homebrew
brew uninstall mysql
brew install mysql
mysql.server start
mysql -uroot
私の場合、ターミナルからmysqlにアクセスするMAMPをインストールした直後に、同じソケットエラーが発生していました。最後に必要だったのは再起動だけで、機能しています。
ここには他にも多くの役立つ回答がありますが、これを修正するものは何もありませんでした。最終的に、このサイトや他のサイトで見つけたものは、HomebrewのMySQLのどのバージョンでも機能しません。
https://dev.mysql.com/downloads/file/?id=479114からDMGをダウンロードして(必要な適切なバージョンを見つけて)、ウィザードにインストールさせるのは非常に簡単でした。他の唯一の手動ステップは/usr/local/mysql/bin
、PATHに追加することでした。
brewが問題を引き起こしている場合は、このオプションをお勧めします。
更新-それでも修正されない場合は、DMG経由でインストールする前にmysqlを完全にパージしてみてください。次の手順に従ってください:https ://gist.github.com/vitorbritto/0555879fe4414d18569d
これを試して
rm -rf /usr/local/var/mysql && brew postinstall mysql@5.7 && brew services restart mysql@5.7
Catalina OSにアップグレードした後、同様の問題が発生しました。mysqldコマンドを実行した後、ログファイルに問題があることがわかりました。他の人にとっては違うかもしれません。
$ mysqld
問題は
2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting
それを作成し、適切な権限を適用することで解決しました。
sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/
MySQLを再起動します
brew services restart mysql@5.7
問題は解決されました。
mysql -uroot -proot
sudo chown _mysql /usr/local/var/mysql/*
これらすべてのSOの答えから多数のオプションを試した後、実行することは最終的に私を助けました。アクセス許可の問題は、マシンの不適切なシャットダウンが原因である可能性があります。
ターミナルで「brewservicesstartmysql」を押すだけです
OSXを使用していてXAMPPを使用している場合は、次の手順に従ってください。
Jackstineの回答のおかげで、私は次のことができました。
$ cat〜/ .my.cnf
[mysql]
# CLIENT #
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
将来、忘れてしまったときに、これがまた役立つことを願っています!
localhostを127.0.0.1に変更することで、この問題を解決できました。
私の場合、ホストをlocalhostではなく127.0.0.1として指定します。
$ bin/mysql -uroot -p -h127.0.0.1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Homebrewは、標準の再インストールを使用してアクセス許可を修復することは絶対にありません。また、破損しているフォルダー/ファイルを追跡するのに、価値があるよりも時間がかかります。
この場合、mysqlのインストールを手動で吹き飛ばし、homebrewを介して再インストールします。約2分かかります。
cd /usr/local/var
sudo rm -rf mysql
brew install mysql
Homebrewはデフォルトでmysqlを安全でない状態でインストールするため、パスワードが必要な場合は次のようにします。
mysql_secure_installation
次に、それを起動します。
mysql -uroot
MySQLを私のmacm1macOS Montereyにインストールした後、次のbrew install mysql
情報を使用しました。
[System] [MY-013169] [Server] /opt/homebrew/Cellar/mysql/8.0.27_1/bin/mysqld (mysqld 8.0.27) initializing of server in progress as process 3624
[ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
[ERROR] [MY-013236] [Server] The designated data directory /opt/homebrew/var/mysql/ is unusable. You can remove all files that the server added to it.
[ERROR] [MY-010119] [Server] Aborting
[System] [MY-010910] [Server] /opt/homebrew/Cellar/mysql/8.0.27_1/bin/mysqld: Shutdown complete (mysqld 8.0.27) Homebrew.
そしてこの警告:
Warning: The post-install step did not complete successfully You can
try again using: brew postinstall mysql
その後、を使用してMySQLを起動しようとするとbrew services start mysql
、次のエラーが発生します。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2)
私はそれを使用してそれを修正することができました:
> rm -rf ~/opt/homebrew/var/mysql/
> brew postinstall mysql
mysql -uroot
これで、またはに接続できますmysql -uroot -p
。
ローカルマシンでのこれらすべての問題の最善の代替手段->DOCKER
この手順に従うと、ローカルのmysqlセットアップと同じくらいうまくいくでしょう:
-> docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD = root mysql
/usr/local/var/mysql/
ます。