mysql root设置密码 linux

成功方案

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[root@localhost ~]# mysql -u root mysql

mysql> update user set authentication_string=PASSWORD('passw0rd') where user='root';

[root@localhost ~]# mysql -u root -p

Enter password: 

 

登陆之后还需之行下面的语句修改密码,使其符合规则

alter user 'root'@'localhost' IDENTIFIED BY 'Passw0rd@' PASSWORD EXPIRE;

或者这一句

SET PASSWORD = PASSWORD('Passw0rd@');

 

使mysql的root用户可以远程链接:

mysql -u root –p

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

FLUSH PRIVILEGES


失败方案

创建mysql-init文件,内容如下:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

然后执行 sudo mysqld_safe --init-file=mysql-init &

然后删除mysql-init