修改mysql密码方法小结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改mysql密码方法小结相关的知识,希望对你有一定的参考价值。
修改mysql密码方法小结
MySQL5.7版本之前修改密码的方法:
方法1: 用SET PASSWORD命令
mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "newpass"
方法3: 用UPDATE直接编辑user表
[[email protected] ~]#mysql -uroot -p mysql> use mysql; mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root'; mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
mysqld_safe --skip-grant-tables& mysql -u root mysql mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root'; mysql> FLUSH PRIVILEGES;
MySQL 5.7.22修改密码的方式如下:
1,版本更新,原来user里的password字段已经变更为authentication_string版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。如果 MySQL 正在运行,首先杀之:killall -TERM mysqld。运行mysqld_safe --skip-grant-tables &如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &使用mysql连接server更改密码
mysql> update mysql.user set authentication_string=password('hwg123') where user='root' and Host = 'localhost'; mysql> exit [[email protected]_3 ~]# systemctl restart mysqld
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于authentication_string字段。
2,升级mysql报错如下:ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50556, now running 50722. Please use mysql_upgrade to fix this error.错误是由于你曾经升级过数据库,升级完后没有使用mysql_upgrade升级数据结构造成的。
解决办法:使用mysql_upgrade命令
[email protected] ~]# mysql_upgrade -u root -phwg123
3,MySQL5.7.22数据库安装完后更改密码;
[[email protected] ~]# cat /var/log/mysqld.log | grep password [[email protected] ~]# mysql -uroot -pRir.*sJUX6M*
进入mysql后需要改全局变量。要不然你设置的密码要符合密码复杂度。
mysql> set global validate_password_policy=0; [[email protected] ~]# systemctl restart mysqld [[email protected] ~]# mysql -uroot -pRir.*sJUX6M* mysql> ALTER USER USER() IDENTIFIED BY '12345678';
或者是这个样子:
mysql> ALTER USER USER() IDENTIFIED BY 'Pass123!';
以上是关于修改mysql密码方法小结的主要内容,如果未能解决你的问题,请参考以下文章
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段