在 Ubuntu 系统中安装 MySQL 的步骤如下:
步骤 1:更新软件包列表
sudo apt update
步骤 2:安装 MySQL 服务器
sudo apt install mysql-server -y
Ubuntu 22.04/20.04 默认安装 MySQL 8.0,早期版本可能默认使用 MariaDB。
如果需要指定旧版本(如 MySQL 5.7),需添加第三方仓库(见文末“扩展说明”)。
步骤 3:初始化安全配置
运行安全脚本,设置 root 密码并移除不安全配置:
sudo mysql_secure_installation
根据提示完成以下操作:
选择密码强度验证策略(默认按 ENTER 跳过)。
设置 root 用户的密码。
删除匿名用户(选择 Y)。
禁止 root 远程登录(选择 Y)。
删除测试数据库(选择 Y)。
重新加载权限表(选择 Y)。
步骤 4:验证 MySQL 服务状态
sudo systemctl status mysql
正常输出应显示 active (running)。
步骤 5:登录 MySQL
使用 root 用户登录:
sudo mysql -u root -p
输入步骤 3 中设置的密码。
步骤 6:基本配置(可选)
1. 创建新用户和数据库
-- 创建数据库
CREATE DATABASE mydb;-- 创建用户并设置密码
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';-- 授予权限
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';-- 刷新权限
FLUSH PRIVILEGES;
2. 允许远程访问
修改配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 并改为:
bind-address = 0.0.0.0
重启 MySQL:
sudo systemctl restart mysql
为用户授权远程访问:
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
步骤 7:防火墙配置(可选)
如果启用了 ufw 防火墙,开放 MySQL 默认端口(3306):
sudo ufw allow 3306/tcp
sudo ufw reload
常见问题解决
1. 忘记 root 密码
停止 MySQL 服务:
sudo systemctl stop mysql
启动 MySQL 无密码模式:
sudo mysqld_safe --skip-grant-tables &
登录并重置密码:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
EXIT;
重启 MySQL 服务。
2. 服务启动失败
检查错误日志:
sudo tail -n 50 /var/log/mysql/error.log
扩展说明
1. 安装特定版本(如 MySQL 5.7)
添加 MySQL 官方仓库:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.28-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.28-1_all.deb
(安装过程中选择所需版本)
更新并安装:
sudo apt update
sudo apt install mysql-server=5.7.* -y
2. 完全卸载 MySQL
sudo apt purge mysql-server mysql-client mysql-common
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt autoremove
后续操作建议
定期备份:使用 mysqldump 备份数据库:
mysqldump -u root -p mydb > mydb_backup.sql
监控工具:安装 mytop 或 phpMyAdmin 管理数据库。
性能优化:调整 my.cnf 配置文件(如缓存大小、连接数)。
通过以上步骤,你可以在 Ubuntu 系统上快速部署并配置 MySQL。