欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL修改密码方法汇总

程序员文章站 2023-10-17 23:09:32
mysql5.7版本之前修改密码的方法: 方法1: 用set password命令 mysql -u root mysql> set password fo...

mysql5.7版本之前修改密码的方法:

方法1: 用set password命令

mysql -u root
mysql> set password for = password('newpass');

方法2:用mysqladmin

mysqladmin -u root password "newpass"

如果root已经设置过密码,采用如下方法

mysqladmin -u root password oldpass "newpass"

方法3: 用update直接编辑user表

[root@ ~]#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
[root@centos7_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命令

~]# mysql_upgrade -u root -phwg123

3,mysql5.7.22数据库安装完后更改密码;

[root@ ~]# cat /var/log/mysqld.log | grep password
[root@ ~]# mysql -uroot -prir.*sjux6m*

进入mysql后需要改全局变量。要不然你设置的密码要符合密码复杂度。

mysql> set global validate_password_policy=0;
[root@zabbixserver ~]# systemctl restart mysqld
[root@zabbixserver ~]# mysql -uroot -prir.*sjux6m*
mysql> alter user user() identified by '12345678';

或者是这个样子:

mysql> alter user user() identified by 'pass123!';