安装前准备工作
在开始安装MySQL 5.7.13之前,需要做好充分的准备工作,以确保安装过程顺利进行,检查操作系统版本是否兼容MySQL 5.7.13,该版本支持主流的Linux发行版,如CentOS 6.5+、Ubuntu 14.04+等,可以通过执行uname -a命令查看系统内核版本,确保满足最低要求,确认系统架构,MySQL 5.7.13提供x86_64和ARM架构的安装包,需根据实际硬件环境选择对应版本。
清理系统中可能存在的旧版MySQL残留,使用rpm -qa | grep mysql或dpkg -l | grep mysql命令查找已安装的MySQL相关包,并通过rpm -e或dpkg -r命令彻底卸载,删除残留的配置文件和数据目录,如/etc/my.cnf、/var/lib/mysql等,避免新版本安装冲突。
安装必要的依赖包,以CentOS为例,需执行yum install -y libaio-devel numactl-devel命令,这些依赖库是MySQL正常运行的基础,对于Ubuntu系统,可使用apt-get install -y libaio1 libnuma1命令安装对应依赖,确保网络连接正常,以便后续下载安装包。
下载MySQL 5.7.13安装包
MySQL官方提供了多种安装方式,包括二进制包、源码包和RPM/DEB包,对于Linux生产环境,推荐使用二进制包(tar.gz格式),因其无需编译,部署效率高,访问MySQL官方归档页面(https://downloads.mysql.com/archives/community/),选择“MySQL Community Server”版本,找到5.7.13对应的Linux – Generic(glibc 2.5)x86_64二进制包。
下载完成后,通过md5sum或sha256sum命令校验文件完整性,确保下载的安装包未被篡改,执行sha256sum mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz,将输出结果与官网提供的哈希值对比,一致后方可进行下一步。
将下载的安装包上传至Linux服务器的/usr/local/src目录,并使用tar -zxvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz命令解压,解压后会在当前目录生成mysql-5.7.13-linux-glibc2.5-x86_64文件夹,建议将其重命名为mysql以简化后续操作,执行mv mysql-5.7.13-linux-glibc2.5-x86_64 /usr/local/mysql。
创建MySQL用户与目录
为确保系统安全,需为MySQL创建独立的运行用户和用户组,避免使用root用户直接运行服务,首先创建用户组mysql和用户mysql,并设置其家目录为/usr/local/mysql,执行以下命令:
groupadd mysql useradd -r -g mysql -s /bin/false -d /usr/local/mysql mysql
创建必要的数据目录和日志目录,在/usr/local/mysql下创建data、log、tmp等子目录,并设置正确的权限:
mkdir -p /usr/local/mysql/data /usr/local/mysql/log /usr/local/mysql/tmp chown -R mysql:mysql /usr/local/mysql chmod -R 755 /usr/local/mysql
初始化数据目录前,需确保/etc目录下存在my.cnf配置文件,若已存在,建议备份或删除,避免MySQL启动时加载错误配置,然后执行初始化命令:
cd /usr/local/mysql ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化完成后,data目录下会生成root@localhost的临时密码,记录该密码,后续登录时需要使用。
配置系统服务与启动
为方便管理MySQL服务,需将其注册为系统服务,以CentOS 7为例,可创建/usr/lib/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=65536 [Install] WantedBy=multi-user.target
然后创建/etc/my.cnf配置文件,设置基本参数:
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 socket=/tmp/mysql.sock character-set-server=utf8mb4 collation-server=utf8mb4_general_ci max_connections=1000 innodb_buffer_pool_size=1G
执行systemctl daemon-reload重新加载系统服务,使用systemctl start mysqld启动MySQL,并通过systemctl enable mysqld设置开机自启。
验证服务是否正常运行,执行netstat -tuln | grep 3306检查端口监听状态,或使用ps aux | grep mysqld查看进程。
安全配置与用户管理
首次启动后,需执行安全脚本初始化用户权限,执行./bin/mysql_secure_installation,根据提示设置root密码(建议使用复杂密码)、移除匿名用户、禁止root远程登录、删除测试数据库并刷新权限。
创建应用数据库和管理用户,创建一个名为app_db的数据库,并授权app_user用户仅允许从本地访问:
mysql -u root -p CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'YourPassword123!'; GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
常见问题与优化建议
安装过程中可能遇到“无法找到libaio.so.1”错误,需重新安装libaio依赖;若启动时报“datadir权限错误”,需检查/usr/local/mysql/data目录的所属用户是否为mysql。
为提升性能,可调整my.cnf中的参数,如根据服务器内存设置innodb_buffer_pool_size(建议为物理内存的50%-70%),开启slow_query_log记录慢查询日志,并配置query_cache_type=0禁用查询缓存(MySQL 5.7默认关闭)。
定期备份数据库至关重要,可使用mysqldump工具制定备份计划,例如每天凌晨执行mysqldump -u root -p app_db > /backup/app_db_$(date +%F).sql,并将备份文件存储至安全位置。
通过以上步骤,即可完成Linux环境下MySQL 5.7.13的安装与基础配置,为后续应用开发提供稳定可靠的数据库支持。









