修改mysql密码
Posted 队长china
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改mysql密码相关的知识,希望对你有一定的参考价值。
方法一:
登录mysql
mysql> set password for user@localhost = password(\'mypassword\');
eg:
mysql>set password for zbxuser@localhost = password(\'zbxpass\');
方法二:
登录mysql, 用 update 语句修改表
mysql>use mysql;
mysql>update user set password=password(\'mypassword\') where cluase;
mysql>flush privileges;
或者
mysql>update mysql.user set password=password(\'mypassword\') where cluase;
mysql>flush privileges;
eg:
mysql>user mysql;
mysql>update user set password=password(\'zbxpass\') where user=\'zbxuser\' and host=\'localhost\';
mysql>flush privileges;
或者
mysql>update mysql.user set password=password(\'zbxpass\') where user=\'zbxuser\' and host=\'localhost\';
mysql>flush privileges;
方法三:
用 mysqladmin 命令
mysqladmin -u用户名 -p旧密码 password 新密码
eg:
# mysqladmin -uzbxuser -pzbxpass password zbxpassnew;
如果忘记 mysql 的root 用户密码
方法一.
修改 /etc/my.cnf 文件
[mysqld] 中添加一行
skip-grant-tables
重启mysqld服务 systemctl restart mysqld.service,用root用户登录mysql,此时不需要输入密码了
mysql -uroot mysql>use mysql mysql>update user set password=password(\'123456\') where user=\'root\'; mysql>flush privileges;
方法二.
先停止mysql服务
启动服务
mysqld_safe --skip-grant-tables & 跳过授权表,并在后台执行。为了安全起见 再加上--skip-networking (禁止远程登录功能)
mysqld_safe --skip-grant-tables & mysql -u root mysql mysql>update user set password=password(\'root123\') where user=\'root\'; mysql>flush privileges;
此方法执行 mysqld_safe --skip-grant-tables 是在后台运行,有可能在改完密码之后,重启mysqld时会报错,重启失败
这时候用 ss -tnlp 查看mysqld进程,kill 掉;还有ps aux | grep mysqld 检查一下,是不是还有mysqld_safe命令在后台运行,有的话也kill掉,然后再启动mysql,这时候新密码就会 生效了;
参考:https://www.cnblogs.com/kyosusan/p/5198934.html
以上是关于修改mysql密码的主要内容,如果未能解决你的问题,请参考以下文章