加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

不同版本的MySQL数据库修改密码的细节问题

发布时间:2022-10-15 05:30:58 所属栏目:MsSql教程 来源:转载
导读: MySQL数据库更新版本后修改默认密码的方式也不一样了,为了方便于记忆,我现在将这些修改mysql密码方法小结:
一、适用于MySQL5.6之前版本
方法1: 用SET PASSWORD命令:
mysql -u root
mys

MySQL数据库更新版本后修改默认密码的方式也不一样了,为了方便于记忆,我现在将这些修改mysql密码方法小结:

一、适用于MySQL5.6之前版本

方法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表

mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;

方法4:在丢失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 

authentication

*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了

而是将加密后的用户密码存储于authentication_string字段。

2mssql数据库密码,升级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命令

root@localhost ~]# mysql_upgrade -u root -phwg123

update

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

[root@zabbixserver ~]# cat /var/log/mysqld.log | grep password
[root@zabbixserver ~]# 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!';

总结:

以上是一些在使用不同的MySQL 版本的时候都会涉及修改密码的问题,往往你用了一个很熟悉的命令或者说是方式突然改变了会让你不太容易记得住,于是就把它记下来了,希望对你有用。

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!