您好,登录后才能下订单哦!
# Linux下如何修改MySQL/MariaDB的Root密码
## 前言
MySQL和MariaDB作为最流行的开源关系型数据库管理系统,root账户是其最高权限账户。当我们需要进行数据库维护、迁移或安全加固时,修改root密码是常见操作。本文将详细介绍在Linux环境下修改MySQL/MariaDB root密码的多种方法,并针对不同场景提供解决方案。
## 方法一:使用mysqladmin命令修改密码(已知原密码)
```bash
mysqladmin -u root -p'旧密码' password '新密码'
注意事项:
1. 单引号包裹密码可避免特殊字符被shell解释
2. 生产环境建议使用-p
不带密码参数,交互式输入更安全
3. 执行后无输出表示成功,可通过mysql -u root -p
测试新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
FLUSH PRIVILEGES;
适用场景: - 已登录MySQL Shell - MySQL 5.7.6+/MariaDB 10.4+版本推荐语法
sudo systemctl stop mysqld
# 或
sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables &
mysql -u root
MySQL 5.7.6+ / MariaDB 10.4+:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
旧版本MySQL:
UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
exit;
sudo systemctl restart mysqld
sudo mysql_secure_installation
该交互式脚本会引导完成: 1. 设置root密码 2. 移除匿名用户 3. 禁止远程root登录 4. 移除测试数据库 5. 重新加载权限表
复杂度要求:
定期更换:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
密码存储:
建议使用mysql_config_editor
工具安全存储凭据:
mysql_config_editor set --login-path=local --host=localhost --user=root --password
解决方法:
SHOW VARIABLES LIKE 'validate_password%';
# 临时降低策略强度
SET GLOBAL validate_password_policy=LOW;
需同步修改配置文件:
// config.inc.php
$cfg['Servers'][$i]['password'] = '新密码';
可尝试在my.cnf中添加:
[mysqld]
skip-grant-tables
重启服务后按方法三操作,完成后务必移除该配置。
禁用远程root登录:
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1');
创建次级管理员:
CREATE USER 'admin'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
启用审计日志:
[mysqld]
plugin-load = audit_log.so
audit_log_format = JSON
audit_log_policy = ALL
本文涵盖了从常规修改到应急处理的完整密码管理方案。建议管理员: - 定期审计数据库账户 - 使用SSH隧道替代直接远程连接 - 考虑使用证书认证替代密码认证 - 重要操作前做好数据库备份
备份提醒:执行密码修改前建议备份数据库:
> mysqldump -u root -p --all-databases > full_backup.sql > ```
注:实际字符数约1100字(含代码块)。根据具体MySQL/MariaDB版本不同,部分命令可能需要调整,建议操作前查阅对应版本的官方文档。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。