在 Ubuntu 上安装 MySQL 可以通过官方软件包仓库快速完成。以下是详细步骤:
1. 更新系统包列表
sudo apt update
2. 安装 MySQL Server
默认仓库提供的是 MySQL 社区版:
sudo apt install mysql-server
- 安装过程中不会提示设置密码(Ubuntu 较新版本默认使用
auth_socket
插件认证)。
3. 安全配置(推荐)
运行安全脚本,设置 root 密码、移除匿名用户等:
sudo mysql_secure_installation
按提示操作:
- 选择密码强度验证策略(可选)。
- 设置 root 密码。
- 移除匿名用户?输入
Y
。 - 禁止远程 root 登录?输入
Y
(增强安全性)。 - 移除测试数据库?输入
Y
。 - 立即重载权限表?输入
Y
。
4. (可选)调整身份验证方式
如果希望用密码登录 root(而非默认的 socket认证):
sudo mysql
执行以下 SQL:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
EXIT;
5. 检查 MySQL 服务状态
systemctl status mysql.service
- 启动/停止/重启:
sudo systemctl start mysql # 启动 sudo systemctl stop mysql # 停止 sudo systemctl restart mysql #重启
6. (可选)允许远程访问
- 编辑配置文件:
找到sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address
,修改为:
bind-address =0.0.0.0
- 授权远程用户(需在MySQL中执行):
CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'; FLUSH PRIVILEGES;
- 重启MySQL生效:
sudo systemctl restart mysql
7.(测试连接)
本地登录验证:
mysql -u root -p
#输入密码后进入MySQL Shell即表示成功。
#退出命令:
exit
常见问题解决
- 忘记root密码:
-编辑配置文件添加skip-grant-tables
,重启后无密码登录并重置。
2.端口冲突:
默认端口3306被占用时,需修改 /etc/mysql/mysql.conf.d/mysqld.cnf
中的端口号。
3.依赖错误:
若安装失败,尝试修复依赖:
```bash
sudo apt --fix-broken install
```
如果需要特定版本(如MySQL8.x),可参考MySQL官方APT仓库配置后再安装。
内容由零声教学AI助手提供,问题来源于学员提问