Linux 系统——管理 MySQL
在 Linux 系统中使用宝塔面板管理 MySQL 时,部分操作需要通过命令行完成。
1. 启动 MySQL 服务
在 Linux 中,使用 systemctl
命令管理服务(而非 Windows 的 net
命令):
systemctl start mysql # 启动 MySQL 服务
# 或使用宝塔面板的服务管理:
# 登录宝塔面板 → 软件商店 → MySQL → 启动
2. 登录 MySQL 并修改密码
# 登录 MySQL(输入密码后回车)
mysql -u root -p# 在 MySQL 命令行中修改密码(替换为你的新密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';# 刷新权限使修改生效
FLUSH PRIVILEGES;# 退出 MySQL
EXIT;
3. 重启 MySQL 服务
systemctl restart mysql # 重启 MySQL 服务
# 或通过宝塔面板:软件商店 → MySQL → 重启
4. 验证操作(登录并查看数据库)
# 重新登录 MySQL
mysql -u root -p# 查看所有数据库
SHOW DATABASES;# 切换到 mysql 系统数据库
USE mysql;# 查看所有表
SHOW TABLES;# 查看用户表的所有内容(谨慎操作,含敏感信息)
SELECT * FROM user;# 仅查看用户和允许连接的主机
SELECT host, user FROM user;# 修改 root 用户允许从任意主机连接(生产环境需谨慎!)
UPDATE user SET host = '%' WHERE user = 'root';# 刷新权限
FLUSH PRIVILEGES;# 退出
EXIT;
注意事项
权限风险:
host = '%'
允许 root 用户从任意 IP 远程连接,可能导致安全漏洞。- 生产环境建议:创建专用用户(如
app_user
)并限制其访问权限,而非直接使用 root。
命令兼容性:
- Linux 使用
systemctl
管理服务,Windows 使用net
,命令不可混用。
- Linux 使用
防火墙配置:
- 若需远程连接,需确保服务器防火墙开放 3306 端口(生产环境建议限制 IP 访问)。
# 开放 3306 端口(CentOS 示例)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
密码复杂度:
- 新密码需符合 MySQL 密码策略(通常要求长度≥8,包含大小写、数字和特殊字符)。
宝塔面板替代方案
部分操作可通过宝塔面板可视化完成:
- 修改密码:宝塔面板 → 数据库 → 选择数据库 → 修改密码。
- 远程连接:宝塔面板 → 数据库 → 远程连接 → 添加允许的 IP。
- 服务管理:宝塔面板 → 软件商店 → MySQL → 启动 / 重启。
通过上述命令和面板操作,可安全高效地管理 MySQL 服务。