MySQL数据库使用中可能需要用到密码修改,常用的修改MySQL的方法有哪些?MySQL 5.7.6及之后版本推荐使用修改密码的方法是使用ALTER USER命令。先登录MySQL服务器:
mysql -u root -p
输入当前root密码。修改密码:
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
username是你要修改密码的用户名,host是主机名(通常是localhost,或者可以是具体的IP地址),new_password是你想要设置的新密码。
更新权限:
FLUSH PRIVILEGES;
在MySQL 5.7.5及以前版本中,还可以用SET PASSWORD命令,先登录到MySQL服务器:
mysql -u root -p
修改密码:
SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');
或
SET PASSWORD FOR 'username'@'host' = '*加密后的密码';
更新:
FLUSH PRIVILEGES;
也可以使用mysqladmin:
mysqladmin -u root -p password new_password
输入当前root密码后,系统会提示输入新密码。
还有就是可以在my.cnf配置文件中设置,编辑MySQL配置文件my.cnf一般位于/etc/mysql/目录下,添加:
validate_user_plugins=1
validate_user_plugin=mysql_native_password
重启MySQL:
sudo service mysql restart
或
sudo systemctl restart mysql
修改密码后保证全部应用程序/数据库连接都更新为使用新密码。修改MySQL服务需要一定权限,还要学习恢复/重置密码方法防止出现意外情况。
如果忘记了MySQL的root密码,可以用安全模式。先停止MySQL服务:
sudo systemctl stop mysql
或
sudo service mysql stop
以安全模式启动MySQL服务,允许空密码登录:
sudo mysqld_safe --skip-grant-tables &
登录MySQL:
mysql -u root
选择MySQL数据库:
USE mysql;
更新权限表,允许root用户从任何主机登录并设置新密码:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password' WITH GRANT OPTION;
退出:
Quit
退出安全模式下MySQL服务:
sudo killall mysqld
重启MySQL服务:
sudo systemctl start mysql
或
sudo service mysql start