网上的文章一个抄一个,错的也抄,妙啊
linux中使用命令安装mysql8,安装过程不会提示设置密码,这就导致,mysql默认的root用户无法使用密码登录。然而网上一堆花里胡哨的教你怎么用安全模式登录后更改密码,不知道大佬们是怎么配置好的,反正我是跟着那些一个模子里刻出来的文章中介绍的方法,搞了大半天是怎么也弄不出来。下面是我自己摸索出来的配置方式,不喜勿喷。
- 安装完成后,使用如下命令修改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables
- 保存:wq,退出。输入:service mysql restart,重新启动mysql。
- 在终端中输入
mysql -u root -p
无密码登录MySQL
- 修改plugin列
update mysql.user set `plugin`='mysql_native_password' WHERE `user`='root' AND `host`='localhost';
输入exit;退出mysql
返回命令行后,使用如下命令修改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将之前加上的字段skip-grant-tables注释掉
输入:service mysql restart重启mysql
- 再次输入mysql -u root -p 无密码登录
- 输入以下代码将原有字段置空
use mysql;
update user set authentication_string='' where user='root'
- 注意:在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。
- 修改root密码
ALTER user 'root'@'localhost' IDENTIFIED BY '12345678'
ok结束,经过上述步骤,你的root用户应该可以用密码登录了!