适用系统:Ubuntu/Debian/CentOS | MySQL版本:8.0(推荐)或5.7
一、安装前的准备
1. 更新系统软件包
确保系统处于最新状态,避免依赖冲突:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
2 卸载旧版本MySQL(如有)
# Ubuntu/Debian
sudo apt purge mysql-server* -y
sudo rm -rf /etc/mysql /var/lib/mysql
# CentOS
sudo yum remove mysql-server -y
sudo rm -rf /var/lib/mysql
二、安装MySQL的两种方式
方式1:通过包管理器安装(推荐新手)
Ubuntu/Debian
1. 添加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
注:安装过程中会提示选择MySQL版本(默认8.0)
2. 安装MySQL服务器
sudo apt install mysql-server -y
CentOS
1. L添加MySQL官方仓库
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm -y
2. 安装MySQL服务器
sudo yum install mysql-community-server -y
方式2:手动安装(适合离线环境)
1. 下载MySQL二进制包
访问 MySQL官网,选择 Linux - Generic 的.tar.gz压缩包。
2. 解压并安装
tar -xvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
sudo mv mysql-8.0.34-linux-glibc2.28-x86_64 /usr/local/mysql
# 创建MySQL用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
# 初始化数据库
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql
注:初始化后会生成临时root密码,需记录(如 root@localhost: Abc123!)
三、配置MySQL服务
1. 启动MySQL服务
# Ubuntu/Debian
sudo systemctl start mysql
# CentOS
sudo systemctl start mysqld
# 设置开机自启
sudo systemctl enable mysql # 或 mysqld
2. 运行安全脚本
sudo mysql_secure_installation
操作提示:
- 输入临时root密码
- 设置新密码
- 移除匿名用户(选Y)
- 禁止远程root登录(选Y)
- 删除测试数据库(选Y)
- 刷新权限表(选Y)
四、验证与基本使用
1. 登录MySQL
mysql -u root -p
输入密码后进入MySQL命令行。
2. 创建测试数据库和用户
CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Test@123';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
3. 退出MySQL
EXIT;
五、远程访问配置(可选)
1. 修改MySQL绑定地址
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu/Debian
sudo nano /etc/my.cnf # CentOS
找到 bind-address = 127.0.0.1
改为 bind-address = 0.0.0.0
。
2. 开放防火墙端口
sudo ufw allow 3306/tcp # Ubuntu/Debian
sudo firewall-cmd --permanent --add-port=3306/tcp # CentOS
sudo firewall-cmd --reload
3. 创建远程访问用户
CREATE USER 'remote'@'%' IDENTIFIED BY 'Remote@123';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';
FLUSH PRIVILEGES;
六、常见问题解决
问题 | 解决方案 |
---|---|
忘记root密码 | 停止服务 → 启动无权限模式 → 重置密码 → 重启服务 |
无法启动服务 | 检查错误日志 /var/log/mysql/error.log ,排查端口冲突或权限问题。 |
连接被拒绝 | 确认防火墙是否放行3306端口,检查用户是否允许远程访问。 |
七、总结
通过本文,您已掌握在Linux系统中安装、配置MySQL数据库的核心步骤。建议定期备份数据并遵循最小权限原则分配用户权限。