※過去の自分に向けて書いています。
RROR 3680 (HY000): Failed to create schema directory 'ディレクトリ名' (errno: 2 - No such file or directory)
が出ました。
#現在の状態
- 使用PC macbookpro
- homebrewでmysql5.7をインストールしていた
- mysqlで一つデータベースを作成している(中には何も入れていない)
- mysqlの学習をしようとして新しいデータベースを作ろうとした。
#mysqlをアンインストール
下記コマンドを入力
mysql> show databases;
現在のデータベース
Database |
---|
information_schema |
mysql |
performance_schema |
sys |
事前に作っていたDB名 |
原因が分からなかったのとDBに何も入力していなかったのでアンインストールし、再度インストールすることにしました。
brew uninstall mysql@5.7
※最初は@5.7を書かずに実行したので
Error: No installed keg or cask with the name "mysql"
が出て**なぜ?**ってなりました。今後気を付けたいと思います。
その後下記を一つづつ実行
sudo rm -rf /usr/local/Cellar/mysql* sudo rm -rf /usr/local/bin/mysql* sudo rm -rf /usr/local/var/mysql* sudo rm -rf /usr/local/etc/my.cnf sudo rm -rf /usr/local/share/mysql* sudo rm -rf /usr/local/opt/mysql* sudo rm -rf /etc/my.cnf
そして、オプションファイルがあちこちに点在している可能性があるそうなので下記を打つ。
mysql --help | grep my.cnf
結果
No such file or directory
となりましたので、インストールを行いました。
#再度インストールを行なう
brew install mysql@5.7
下記のような画面が出たら成功です。
==> Downloading https://homebrew.bintray.com/bottles/mysql%405.7-5.7.29.catalina.bottle.tar.gz
Already downloaded: /Users/kazuya/Library/Caches/Homebrew/downloads/f955f0a33c9faba3575b56ccfc6127f6852d1a5c1d9f45e1bf3ae218329a7075--mysql@5.7-5.7.29.catalina.bottle.tar.gz
==> Pouring mysql@5.7-5.7.29.catalina.bottle.tar.gz
==> /usr/local/Cellar/mysql@5.7/5.7.29/bin/mysqld --initialize-insecure --user=kazuya --basedir=/usr/local/Cellar/mysql@5.7/5.7.29 --datadir=/usr/local/var/mysql --tmpdir=/tmp
==> Caveats
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -uroot
mysql@5.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have mysql@5.7 first in your PATH run:
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/私の名前/.bash_profile
For compilers to find mysql@5.7 you may need to set:
export LDFLAGS="-L/usr/local/opt/mysql@5.7/lib"
export CPPFLAGS="-I/usr/local/opt/mysql@5.7/include"
To have launchd start mysql@5.7 now and restart at login:
brew services start mysql@5.7
Or, if you don't want/need a background service you can just run:
/usr/local/opt/mysql@5.7/bin/mysql.server start
==> Summary
🍺 /usr/local/Cellar/mysql@5.7/5.7.29: 319 files, 232.3MB
#パスを通す
If you need to have mysql@5.7 first in your PATH run:
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/私の名前/.bash_profile
上記の echoから全てをターミナルに入力します。
その後、 bin:$PATH"' >>以降をコピペして下記を実行します。
※これは私の場合である。
source /Users/私の名前/.bash_profile
#versionを確認する
mysql --version
mysql Ver 14.14 Distrib 5.7.29, for osx10.15 (x86_64) using EditLine wrapper
上記のようにversionが表示されればパスが通っています。
#パスワードの設定
brew services start mysql@5.7
mysql_secure_installation
プラグインを使用するか聞かれましたが、今回は使わないのでそのままEnterキーを押しました。
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
次にrootユーザーのパスワードを設定します。
忘れそうな人はメモっておいた方がいいかも…。
Press y|Y for Yes, any other key for No:
Please set the password for root here.
[New password: #実際に入力しても何も表示されないが落ち着いて入力する
[Re-enter new password: #同じパスワードを入力する
パスワード設定を行った後はいくつか質問が表示されますが、今回は設定をスキップしました。(Enterキーを押すだけ。)
All done!
上記が表示されたら完了!