在 Ubuntu 上配置 MySQL,通常分为 安装、初始化、安全配置、远程访问、用户与数据库管理 几个步骤。下面给你一套从零到可用的完整流程(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
sudo apt update
sudo apt install mysql-server -y
安装完成后,MySQL 会自动启动。
sudo systemctl status mysql
✅ 看到 active (running) 表示运行正常。
常用命令:
sudo systemctl start mysql # 启动
sudo systemctl stop mysql # 停止
sudo systemctl restart mysql # 重启
运行官方安全脚本:
sudo mysql_secure_installation
yyy(后面可单独配置)yysudo mysql
Ubuntu 默认 root 使用 socket 认证,不需要密码。
如果你想用密码登录:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
然后就可以:
mysql -u root -p
CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
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
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
⚠️ 生产环境不建议 %,应指定 IP
sudo ufw allow 3306/tcp
查看当前编码:
SHOW VARIABLES LIKE 'character_set%';
推荐配置(/etc/mysql/mysql.conf.d/mysqld.cnf):
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
| 功能 | 命令 |
|---|---|
| 登录 | mysql -u 用户名 -p |
| 查看数据库 | SHOW DATABASES; |
| 切换数据库 | USE dbname; |
| 查看用户 | SELECT user,host FROM mysql.user; |
| 重启 | sudo systemctl restart mysql |
Access deniedbind-address%如果你愿意,我可以: ✅ 给你 Docker 方式安装 MySQL ✅ 帮你 配置 MySQL + PHP / Django / Spring Boot ✅ 针对 生产环境做安全加固方案
你现在用的是 Ubuntu 几?MySQL 用来做什么?