如何修改MySQL的root用户默认密码?

修改MySQL root密码?得看情况啊。
分两种:
一、要是有现密码
1 . 登录MySQL啊
用命令行或者Xshell啊
输入 mysql -u root -p
回车后会让你输密码,输入现在的密码就行
2 . 修改密码
输入这行命令: sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
新密码得复杂点,得有大写小写字母、数字、特殊符号,最少1 2 位
输完回车后,再输入: sql FLUSH PRIVILEGES;
3 . 特别提醒:
如果要改所有主机上的root密码,比如 root@% 这种
要对每个用户都这么操作一遍
但说实话,真没必要远程root,强烈建议只本地访问
二、要是忘了密码
1 . 先停MySQL服务
用Systemd系统,比如Ubuntu1 6 .04 +、CentOS7 + bash sudo systemctl stop mysql
或者旧版Ubuntu/Debian,用SysVinit bash sudo service mysql stop
2 . 用特殊模式启动MySQL
输入: bash sudo mysqld_safe --skip-grant-tables &
要是怕远程被攻击,可以再加个参数: bash sudo mysqld --skip-grant-tables --skip-networking &
3 . 直接无密码登录MySQL
打开新终端,输入: bash mysql -u root
4 . 修改密码和刷新权限
先输入: sql FLUSH PRIVILEGES;
然后输入: sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
重要提示:必须先执行FLUSH PRIVILEGES,否则后面改密码可能没用
5 . 重启MySQL服务
先干掉那个安全模式进程: bash sudo pkill mysqld
然后正常启动: bash sudo systemctl start mysql
三、安全点子
1 . 密码复杂点,还得定期换
别跟其他服务用同一个密码
2 . root别远程登录
查查有没 root@% 这种用户: sql SELECT User, Host FROM mysql.user WHERE User='root';
直接删掉远程root: sql DROP USER 'root'@'%';
或者限制只能从特定IP登录: sql CREATE USER 'root'@'1 9 2 .1 6 8 .1 .1 00' IDENTIFIED BY '密码';
3 . 别用root干活的
给每个应用单独开个用户,权限给够就行
比如: sql CREATE USER 'app_user'@'localhost' IDENTIFIED BY '密码'; GRANT SELECT, INSERT ON database.table TO 'app_user'@'localhost'; FLUSH PRIVILEGES;
4 . 定期看看权限
查查用户权限: sql SELECT User, Host, Select_priv, Insert_priv FROM mysql.user;
把没用的用户删了,权限回收了
四、为啥生产环境不让root随便操作
1 . 权限太大风险
root能干啥都行,随便删数据库、改配置
要是搞错了或者被黑客了,全完
2 . 审计麻烦
所有操作都显示是root干的
谁搞的破事,怎么搞的,完全看不出来
3 . 不安全
违反最小权限原则
要是网站被黑了,黑客拿到root权限,整个服务器就没了
4 . 正确做法
给每个应用单独开个用户
权限给到刚好够用就行
比如: sql CREATE USER 'app_user'@'localhost' IDENTIFIED BY '密码'; GRANT SELECT, INSERT ON database.table TO 'app_user'@'localhost'; FLUSH PRIVILEGES;

MySQL修改密码方法总结

1 . 直接用phpMyAdmin改密码,简单快捷。
2 . mysqladmin改root密码,方便但密码不安全。
3 . INSERT语句改密码,复杂但可清空旧密码。
4 . REPLACE语句改密码,更彻底但需谨慎。
5 . SET PASSWORD直接改,方便快捷。
6 . GRANT语句改密码,权限管理强。
7 . root权限或类似权限才能改。
8 . 密码加密用PASSWORD()。
9 . FLUSH PRIVILEGES重启权限。
1 0. 命令行密码不安全。
1 1 . SET PASSWORD或GRANT最常用。
1 2 . 你自己掂量。