それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

CentOS で mysql を入れたらroot パスワードどこよ?ってなった

CentOSmysql をインストール

sudo yum install http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo yum install mysql mysql-devel mysql-server mysql-utilities

root パスワードどこ・・・

 mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

パスワードロックかかってんの。どうすればいいの。

ログに書いてある。

sudo cat /var/log/mysqld.log | grep "temporary password"
2016-06-24T23:04:13.579055Z 1 [Note] A temporary password is generated for root@localhost: X3ebeCk*?D6p

インストール後のログを見ると書いてある。

まさか・・・の初期化ランダムパスワード

また、root でインストールした場合

 /root/.mysql_secret 

ココに書いてあることがあるとのこと。

それでも困ったらリセットする

mysql を起動するターミナルを上げておいて

sudo systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables 

別のウインドウを開けてそこから別途接続する

use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;
exit

これでリセットして対応する。。。。

Debianみたく初期インストール時に、パスワード聞いてくれたらイイのに。CentOS面倒くさい

CentOSの古いので試した。

mysqld_safe で起動したときに止める方法は、次の通り。

sudo /etc/init.d/mysqld stop
sudo mysqld_safe --skip-grant-tables 
sudo /etc/init.d/mysqld stop

ちなみに centos 公式の mariadb

rootパスワードなしインストールされた。これはこれで「う~ん」ってなんとも言えない感じになる。

dpkg がいいな、やっぱり。

参考資料

https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7

http://blog.manabusakai.com/2013/04/centos-mysql56-install/

2018-11-27 追記

sudo mysqld_safe --skip-grant-tables を起動したあとどうするかがわからなくなるので、追記