温馨提示×

ubuntu mysql怎么配置

小樊
33
2026-08-11 11:23:35
栏目: 云计算

在 Ubuntu 上配置 MySQL,通常分为 安装、初始化、远程访问、字符集、用户权限 等几个步骤。下面给你一套从零到可用的完整配置流程(适用于 Ubuntu 20.04 / 22.04,MySQL 8.0)。


一、安装 MySQL

sudo apt update
sudo apt install mysql-server -y

安装完成后检查状态:

sudo systemctl status mysql

二、初始化安全配置(强烈建议)

sudo mysql_secure_installation

常见选项说明:

  • VALIDATE PASSWORD:是否启用密码强度校验(建议选 no)
  • 设置 root 密码
  • 移除匿名用户:Y
  • 禁止 root 远程登录:Y(后面可单独配置)
  • 删除 test 数据库:Y
  • 刷新权限:Y

三、登录 MySQL

1️⃣ 默认方式(Ubuntu 下常见)

sudo mysql

如提示需要密码:

sudo mysql -u root -p

四、配置 root 用户(MySQL 8)

1️⃣ 查看当前认证方式

SELECT user, host, plugin FROM mysql.user WHERE user='root';

如果是 auth_socket,建议改为密码登录:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword';
FLUSH PRIVILEGES;

五、创建新用户(推荐)

不要直接用 root 做业务:

CREATE USER 'appuser'@'%' IDENTIFIED BY 'AppPassword123!';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'%';
FLUSH PRIVILEGES;

六、配置远程访问(可选)

1️⃣ 修改配置文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

保存后重启:

sudo systemctl restart mysql

2️⃣ 防火墙放行 3306

sudo ufw allow 3306

⚠️ 生产环境建议限制 IP

sudo ufw allow from 1.2.3.4 to any port 3306

七、配置字符集(防止乱码)

编辑配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld] 下添加:

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[client] 下(如没有可新建):

default-character-set=utf8mb4

重启 MySQL:

sudo systemctl restart mysql

八、常用管理命令

# 启动
sudo systemctl start mysql

# 停止
sudo systemctl stop mysql

# 重启
sudo systemctl restart mysql

# 开机自启
sudo systemctl enable mysql

九、常见问题

❓ 登录报错 Access denied

  • 确认密码
  • 确认 plugin 是否为 mysql_native_password
  • 尝试 sudo mysql

❓ 远程连不上

  • bind-address
  • 防火墙
  • 用户 host 是否为 %

十、快速检查清单 ✅

  • [ ] MySQL 已安装并运行
  • [ ] 已设置 root 密码
  • [ ] 已创建业务用户
  • [ ] 字符集为 utf8mb4
  • [ ] 远程访问已配置(如需要)

如果你愿意,可以告诉我:

  • MySQL 版本
  • 本地 / 服务器
  • 是否用于生产环境

我可以给你一份更精确的配置方案

0