1、设置mysql为无密码启动
修改MySQL的登录设置:vi /etc/my.cnf (部分Linux安装了vim,其命令则改为vim /etc/my.cnf)直接在该文件后面加上skip-grant-tables
至于你怎么加,可以使用vim 命令,也可以使用图形化界面.
命令:vim /etc/my.cnf 然后输入i进入编辑模式,把skip-grant-tables加上,然后esc退出编辑,:wq退出保存文件
2.重新启动mysqld,清空密码
重启mysql:service mysqld restart(这一步不能少,这是让my.cnf的修改生效)
进入mysql:mysql -u root
进入mysql后,切换数据库至mysql:use mysql;
清空密码:update user set authentication_string='' where user='root';
退出mysql:exit
3.然后删了第一步加的那个字符串,方式随你.
4、重设密码
重启mysql:service mysqld restart (这一步不能少,这是让my.cnf的修改生效)
进入mysql:mysql -u root
这个时候mysql除了alter user命令,其他命令都不能使用,都会有这个错误出来
网上使用了很多都不行,我的mysql 是使用rpm安装的8.0的,其他的我就不清楚了,我的使用这句语句设置密码成功
ALTER USER 'root'@'%' IDENTIFIED BY '168$Enrichme' PASSWORD EXPIRE NEVER;
和
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
下面这几句我试了没用,都会报先使用alter user设置密码的错误
alter user 'root'@'localhost' identified by '密码'
set password=password("密码");
update mysql.user set authentication_string=password('密码') where user='root';
让密码马上生效:FLUSH PRIVILEGES;
然后你就可以使用重启命令重启了
开启
service mysqld start
使用 mysqld 脚本启动:/etc/inint.d/mysqld start
service mysqld stop
使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
service mysqld restart
使用 mysqld 脚本启动:/etc/inint.d/mysqld restart