Linux 系统——管理 MySQL

在 Linux 系统中使用宝塔面板管理 MySQL 时,部分操作需要通过命令行完成。

1. 启动 MySQL 服务

在 Linux 中,使用 systemctl 命令管理服务(而非 Windows 的 net 命令):

sql 复制代码
systemctl start mysql  # 启动 MySQL 服务
# 或使用宝塔面板的服务管理:
# 登录宝塔面板 → 软件商店 → MySQL → 启动

2. 登录 MySQL 并修改密码

sql 复制代码
# 登录 MySQL(输入密码后回车)
mysql -u root -p

# 在 MySQL 命令行中修改密码(替换为你的新密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

# 刷新权限使修改生效
FLUSH PRIVILEGES;

# 退出 MySQL
EXIT;

3. 重启 MySQL 服务

sql 复制代码
systemctl restart mysql  # 重启 MySQL 服务
# 或通过宝塔面板:软件商店 → MySQL → 重启

4. 验证操作(登录并查看数据库)

sql 复制代码
# 重新登录 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;

注意事项

  1. 权限风险

    • host = '%' 允许 root 用户从任意 IP 远程连接,可能导致安全漏洞。
    • 生产环境建议 :创建专用用户(如 app_user)并限制其访问权限,而非直接使用 root。
  2. 命令兼容性

    • Linux 使用 systemctl 管理服务,Windows 使用 net,命令不可混用。
  3. 防火墙配置

    • 若需远程连接,需确保服务器防火墙开放 3306 端口(生产环境建议限制 IP 访问)。
sql 复制代码
# 开放 3306 端口(CentOS 示例)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
  1. 密码复杂度

    • 新密码需符合 MySQL 密码策略(通常要求长度≥8,包含大小写、数字和特殊字符)。

宝塔面板替代方案

部分操作可通过宝塔面板可视化完成:

  • 修改密码:宝塔面板 → 数据库 → 选择数据库 → 修改密码。
  • 远程连接:宝塔面板 → 数据库 → 远程连接 → 添加允许的 IP。
  • 服务管理:宝塔面板 → 软件商店 → MySQL → 启动 / 重启。

通过上述命令和面板操作,可安全高效地管理 MySQL 服务。