MySQL设置密码的三种方法

时间:2021-12-23 15:45:03

其设置密码有三种方法:

a. ./mysqladmin -u root -p oldpassword newpasswd(记住这个命令是在/usr/local/mysql/bin中外部命令)

b. SET PASSWORD FOR root=PASSWORD(’new password’);(对登录数据库后这种方式)

c. UPDATE user SET password=PASSWORD(”new password”) WHERE user=’root’;  (对登录数据库后这种方式)

 

看到评论区那么多人喊,我就更新一下吧。。。以下内容转自网络。。。

 

MySQL 5.7版本


版本更新后,原来user里的password字段已经变更为authentication_string
 
而且好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。
 
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
 
运行mysqld_safe --skip-grant-tables &
 
如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &
 
使用mysql连接server
 
更改密码:update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
 
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
 
而是将加密后的用户密码存储于authentication_string字段
 
mysql> flush privileges;
 
mysql> quit;
 
修改完毕。重启
 
killall -TERM mysqld。
 
mysqld_safe &
 
然后mysql就可以连接了
 
但是此时操作似乎功能不完全,还要alter user...
 
alter user 'root'@'localhost' identified by '123';
 
网文说酱紫也可以:set password for 'root'@'localhost'=password('123');
 
cp mysql.server /etc/init.d/mysql
 
chmod +x /etc/init.d/mysql
 
chkconfig --add mysql