Linux环境下MySQL 5.7的详细安装指南
安装前的准备工作
在开始安装MySQL 5.7之前,确保系统满足基本要求并完成必要的准备工作,推荐使用64位操作系统,如CentOS 7、Ubuntu 18.04或更高版本,检查系统是否已安装MySQL的旧版本,若有需先卸载,避免冲突。

-
卸载旧版本(如已安装)
- 对于基于RPM的系统(如CentOS):
sudo yum remove mysql mysql-server mysql-libs sudo rm -rf /var/lib/mysql
- 对于基于DEB的系统(如Ubuntu):
sudo apt-get remove mysql-server mysql-client mysql-common sudo apt-get autoremove sudo rm -rf /var/lib/mysql
- 对于基于RPM的系统(如CentOS):
-
安装依赖包
- CentOS系统:
sudo yum install -y wget vim gcc-c++ make ncurses-devel cmake bison
- Ubuntu系统:
sudo apt-get update sudo apt-get install -y wget vim gcc g++ make cmake bison libncurses5-dev libssl-dev libaio-dev
- CentOS系统:
-
创建MySQL用户和用户组
sudo groupadd mysql sudo useradd -r -g mysql mysql
下载MySQL 5.7源码或二进制包
MySQL 5.7支持源码编译和二进制包安装,二进制包更简单快捷,推荐普通用户使用。
-
下载二进制包
访问MySQL官方下载页面(https://dev.mysql.com/downloads/mysql/5.7.html),选择“Linux – Generic”版本,下载对应的tar.gz包。wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
-
解压并移动到安装目录
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql
配置MySQL目录及权限
-
创建数据目录和日志目录
sudo mkdir -p /data/mysql/data sudo mkdir -p /var/log/mysql sudo chown -R mysql:mysql /data/mysql sudo chown -R mysql:mysql /var/log/mysql
-
创建配置文件
在/etc目录下创建my.cnf配置文件:
sudo vim /etc/my.cnf
添加以下内容(根据实际需求调整参数):
[mysqld] basedir = /usr/local/mysql datadir = /data/mysql/data port = 3306 socket = /tmp/mysql.sock log-error = /var/log/mysql/error.log pid-file = /data/mysql/data/mysql.pid character-set-server = utf8mb4 default-storage-engine = InnoDB innodb_buffer_pool_size = 1G max_connections = 200
初始化MySQL数据库
-
进入MySQL安装目录并初始化
cd /usr/local/mysql sudo ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
记录初始化完成后生成的临时root密码(显示在日志中)。
-
启动MySQL服务
sudo ./bin/mysqld_safe --user=mysql &
-
将MySQL加入系统服务(可选)
创建服务文件:sudo vim /etc/systemd/system/mysqld.service
添加以下内容:
[Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE=5000 [Install] WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload sudo systemctl start mysqld sudo systemctl enable mysqld
安全配置与密码修改
-
登录MySQL并修改root密码
使用临时密码登录:
./bin/mysql -u root -p
输入临时密码后,执行以下命令修改密码(例如设置为
NewPass123!):ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!'; FLUSH PRIVILEGES;
-
运行安全脚本(可选)
sudo ./bin/mysql_secure_installation
根据提示设置密码、移除匿名用户、禁止root远程登录等操作。
常见问题与解决方案
-
启动失败
- 检查
/var/log/mysql/error.log日志文件,确认错误原因。 - 确保配置文件中的路径正确,用户权限设置正确。
- 检查
-
无法连接MySQL
- 检查防火墙是否开放3306端口:
sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --reload
- 确认MySQL服务状态:
sudo systemctl status mysqld
- 检查防火墙是否开放3306端口:
-
忘记root密码
- 停止MySQL服务:
sudo systemctl stop mysqld
- 跳过权限表启动:
sudo mysqld_safe --skip-grant-tables &
- 登录后重置密码,重启服务。
- 停止MySQL服务:
通过以上步骤,您已成功在Linux系统上安装并配置了MySQL 5.7,安装过程中需注意依赖包的安装、目录权限的设置以及初始化密码的妥善保管,建议定期备份数据库,并根据实际需求调整配置参数以优化性能,MySQL 5.7作为一款成熟稳定的数据库管理系统,广泛应用于各类业务场景,掌握其安装与配置是运维人员的基本技能。



















