mysql修改密码之linux系统上修改密码
这篇文章介绍mysql修改密码之linux系统上修改密码,因linux系统版本不一以及mysql版本也众多不一,修改方式很多种,这里介绍一种方式,读者可以尝试修改,不能保证百分百有效,因为笔者也是尝试很多种方法,才成功的.笔者的mysql版本是mysql57-community-release-el7-9.noarch.rpm,linux的版本是:
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
用 cat /proc/version 可以查看 我这里是阿里云服务器上的.
步骤:
1.当mysql密码忘记或者刚刚安装后不知道密码,可以使用这种方法重置密码.
2.vi编辑器编辑/etc/my.cnf文件,在[mysqld]下面添加一条命令:skip-grant-tables :wq 保存并退出
3.重启mysql服务,命令 systemctl restart mysqld ,查看mysql状态 命令 systemctl status mysqld,看看是否又重新启动.如下图显示,mysql服务已经开启了.
4.修改密码:
4.1 此时登录命令行mysql,进入MySql控制台(直接按回车,这时不需要输入root密码。)
mysql -uroot -p
4.2 切换到mysql数据库
mysql>use mysql;
4.3 修改mysql数据库中root的密码
mysql> update user set password=password(“填入新密码”) where user=‘root’;
注意:
如果4.3报错
报错信息: ERROR 1054 (42S22): Unknown column 'password' in 'field list'
原因: 是从mysql 5.7开始,password字段被替换为了authentication_string
修改: update user set authentication_string=password('填入新密码”') where user='root';
5.密码修改成功,再回去把/etc/my.cnf文件中skip-grant-tables注释掉(前面加上#),:wq保存.再次重启服务,此时就可以在linux命令行和其他客户端工具(例如sqlyog)登录,使用刚刚的密码登录.