运行环境
XUbuntu 18.04LTS
MySQL 5.7
问题描述
运行了下面命令后
1
|
$ sudo apt-get install mysql-server mysql-client libmysqlclient-dev
|
无法登陆mysql。
解决办法
因为在安装过程中并未提示设置root密码,就想着查看一下默认密码
1
|
$ cat /var/log/mysql/error.log | grep password
|
结果提示密码是空的,那她丫的我为啥登不进去!!!
修改mysql权限,无密码登陆
1
|
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
|
在**[mysqld]** 条目下加上skip-grant-tables
,无密码进入MySQL。
我在网上找到了三种方法修改密码
1
2
3
4
5
6
|
mysql> update mysql.user set authentication_string=password('123') where user='root' and Host = 'localhost';
// affected 1; changed 0 ; warning 1;
mysql> alter user 'root'@'localhost' identified by '123';
// auth-plugin problem
mysql> set password for 'root'@'localhost'=password('123');
// auth-plugin problem
|
一开始我试着运行第一种,发现运行完之后根本没用,还是登陆不进去,
后来找到了方法二三,抛出了错误,尝试用下面命令解决了
1
|
mysql> update user set plugin="mysql_native_password" where User='root';
|
后来就能用了,记住改完密码后要记得
1
2
3
|
mysql> flush privileges;
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf //将skip-grant-tables那行注释掉或者删掉
$ systemctl restart mysql //重启mysql服务,让改动生效
|
总结
瞎鸡儿折腾,日常踩坑。