本文将详细介绍如何在 CentOS7 上安装 MySQL5.7,包括准备工作、卸载系统自带的 MariaDB、创建用户组、安装 MySQL5.7、配置 MySQL、启动 MySQL 服务以及设置开机自启等关键步骤
无论你是数据库管理员还是系统管理员,都能从本文中获得有用的信息
一、准备工作 在开始安装 MySQL5.7 之前,需要做好以下准备工作: 1.下载 MySQL 5.7 安装包 MySQL5.7 的安装包可以从 MySQL官方网站下载
访问【MySQL官方下载页面】(https://dev.mysql.com/downloads/mysql/5.7.html),选择适合你系统的版本进行下载
通常,你会下载一个`.tar.gz` 格式的压缩包
2.上传安装包到服务器 将下载好的 MySQL5.7 安装包上传到 CentOS7 服务器
你可以使用`scp` 命令或者其他文件传输工具将安装包上传到服务器的指定目录,例如`/usr/local/` 或`/opt/`
二、卸载系统自带的 MariaDB CentOS7 系统默认安装了 MariaDB,而 MariaDB 与 MySQL 存在冲突
因此,在安装 MySQL5.7 之前,需要先卸载 MariaDB
1.检查 MariaDB 是否安装 使用以下命令检查系统是否安装了 MariaDB: bash rpm -qa | grep mariadb 如果系统安装了 MariaDB,你会看到类似`mariadb-libs` 的包名
2.卸载 MariaDB 使用`rpm` 命令卸载 MariaDB: bash rpm -e --nodeps mariadb-libs 注意:`--nodeps` 选项表示强制卸载,不检查依赖关系
在实际操作中,建议谨慎使用此选项,以避免卸载其他重要依赖包
然而,在卸载 MariaDB 时,通常不会遇到依赖问题
3.删除 my.cnf 配置文件 如果`/etc/`目录下存在`my.cnf`配置文件,建议将其删除
因为 MariaDB 的配置文件可能与 MySQL 的配置不兼容
使用以下命令删除`my.cnf` 文件: bash rm /etc/my.cnf 如果文件不存在,系统会提示`No such file or directory`,这不会影响后续操作
三、创建 MySQL 用户组和用户 在安装 MySQL5.7 之前,需要确保系统上存在 MySQL 用户组和用户
如果不存在,则需要手动创建
1.检查 MySQL 用户组是否存在 使用以下命令检查 MySQL 用户组是否存在: bash cat /etc/group | grep mysql 如果系统上没有 MySQL 用户组,则不会返回任何结果
2.创建 MySQL 用户组 使用`groupadd` 命令创建 MySQL 用户组: bash groupadd mysql 3.创建 MySQL 用户 使用`useradd` 命令创建 MySQL 用户,并将其添加到 MySQL 用户组中: bash useradd -g mysql mysql 或者,如果你希望创建一个系统用户(通常用于服务),可以使用`-r` 选项: bash useradd -r -g mysql mysql 4.设置 MySQL 用户密码 使用`passwd` 命令为 MySQL 用户设置密码
例如,将密码设置为`111111`: bash passwd mysql 系统会提示你输入新密码并确认
请注意,出于安全考虑,应选择一个强密码
四、安装 MySQL5.7 现在,我们可以开始安装 MySQL5.7 了
以下是详细步骤: 1.解压安装包 将下载的 MySQL5.7 安装包解压到指定目录
例如,解压到`/usr/local/` 目录: bash tar -zxvf mysql-5.7.xx-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ 注意:将`mysql-5.7.xx-linux-glibc2.5-x86_64.tar.gz`替换为你下载的实际文件名
2.重命名解压目录 为了方便管理,可以将解压后的目录重命名为`mysql57` 或其他你喜欢的名称: bash mv /usr/local/mysql-5.7.xx-linux-glibc2.5-x86_64 /usr/local/mysql57 注意:同样需要将`mysql-5.7.xx-linux-glibc2.5-x86_64`替换为实际解压后的目录名
3.更改目录权限 将 MySQL 目录及其子目录的所有权更改为 MySQL 用户和组: bash chown -R mysql:mysql /usr/local/mysql57 4.创建数据目录 MySQL 需要一个数据目录来存储数据库文件
在 MySQL目录中创建一个名为`data` 的子目录,并将其所有权更改为 MySQL 用户和组: bash mkdir /usr/local/mysql57/data chown -R mysql:mysql /usr/local/mysql57/data 5.初始化数据库 进入 MySQL 目录的`bin` 子目录,并使用`mysqld --initialize` 命令初始化数据库
注意,这里使用的是`--initialize` 选项,而不是较旧的`mysql_install_db`脚本
bash cd /usr/local/mysql57/bin ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql57/data --basedir=/usr/local/mysql57 初始化过程中,系统会生成一个临时密码,用于首次登录 MySQL
请务必记住这个密码,因为它将在后续步骤中使用
如果初始化过程中出现错误提示缺少 Perl 模块,可以使用`yum` 命令安装所需的 Perl 模块: bash yum -y install autoconf libaio 然后再次尝试初始化数据库
五、配置 MySQL 在初始化数据库之后,需要配置 MySQL以便其能够正常运行
以下是配置步骤: 1.创建 my.cnf 配置文件 在`/etc/`目录下创建一个名为`my.cnf` 的配置文件,并添加以下配置: ini 【mysql】 设置mysql客户端默认字符集 default-character-set=utf8 【mysqld】 设置3306端口 port=3306 设置mysql的安装目录 basedir=/usr/local/mysql57 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql57/data 允许最大连接数 max_connections