本文旨在提供一个详细的、有说服力的指南,帮助你在 CentOS7.4 上顺利安装和配置 MySQL
一、准备工作 在开始安装之前,你需要做好以下准备工作: 1.备份数据:如果你已经在其他系统上运行 MySQL,并且需要迁移数据,请务必先备份数据库
2.检查系统要求:确保你的 CentOS 7.4 系统满足 MySQL 的最低系统要求,包括内存、磁盘空间和操作系统版本
3.获取安装包:从 MySQL 官方网站下载适合你 CentOS7.4 系统的安装包
二、卸载自带的 MariaDB CentOS7.4 默认安装了 MariaDB,而 MariaDB 和 MySQL 是兼容但不完全相同的数据库管理系统
因此,在安装 MySQL 之前,你需要先卸载 MariaDB
1.查找并卸载 MariaDB: bash rpm -qa | grep mariadb 这个命令会列出所有已安装的 MariaDB 相关包
然后,你可以使用以下命令卸载它们: bash sudo rpm -e --nodeps mariadb-libs sudo rpm -e --nodeps mariadb-common sudo rpm -e --nodeps mariadb-server 注意:`--nodeps` 选项表示在卸载时不检查依赖关系,这通常是因为 MariaDB 的某些依赖包可能也会被其他软件包所依赖
2.验证卸载: bash rpm -qa | grep mariadb 如果命令没有输出,则表示 MariaDB 已成功卸载
三、下载和解压 MySQL 安装包 1.下载 MySQL 安装包: 你可以从 MySQL官方网站下载适合你 CentOS7.4 系统的安装包
通常,你会下载一个包含多个 RPM包的压缩包,例如`MySQL-5.6.44-1.el7.x86_64.rpm-bundle.tar` 或`mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar`
你可以使用 wget 命令下载,例如: bash wget https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.44-1.el7.x86_64.rpm-bundle.tar 或者: bash wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar 2.解压安装包: 使用 tar 命令解压下载的压缩包: bash tar -xvf MySQL-5.6.44-1.el7.x86_64.rpm-bundle.tar 或者: bash tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar 解压后,你会看到一个包含多个 RPM包的目录
四、安装 MySQL依赖包 在安装 MySQL 之前,你需要先安装一些必要的依赖包
这些依赖包通常包括 libaio、net-tools 等
使用 yum 命令安装依赖包: bash sudo yum install -y libaio net-tools 五、安装 MySQL RPM 包 1.安装 MySQL 服务端: 选择适合你需求的 MySQL 服务端 RPM 包进行安装
例如,如果你下载了 MySQL5.6 的安装包,你可以使用以下命令安装 MySQL 服务端: bash sudo rpm -ivh MySQL-server-5.6.44-1.el7.x86_64.rpm 或者,如果你下载了 MySQL5.7 的安装包: bash sudo rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm 注意:在安装过程中,你可能会遇到一些依赖性问题
如果遇到这些问题,你可以尝试使用`--nodeps` 和`--force` 选项来强制安装,但请谨慎使用这些选项,因为它们可能会破坏系统的依赖关系
2.安装 MySQL 客户端: 同样地,选择适合你需求的 MySQL客户端 RPM 包进行安装
例如: bash sudo rpm -ivh MySQL-client-5.6.44-1.el7.x86_64.rpm 或者: bash sudo rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm 3.安装其他可选的 MySQL 包: 根据你的需求,你还可以安装其他可选的 MySQL 包,如 MySQL-devel、MySQL-embedded 等
这些包提供了额外的功能,如开发库、嵌入式数据库等
例如: bash sudo rpm -ivh MySQL-devel-5.6.44-1.el7.x86_64.rpm sudo rpm -ivh MySQL-embedded-5.6.44-1.el7.x86_64.rpm 或者: bash sudo rpm -ivh mysql-community-devel-5.7.37-1.el7.x86_64.rpm 注意:MySQL5.7 可能没有提供 MySQL-embedded 包 六、初始化 MySQL 数据库 在安装完 MySQL 服务端后,你需要初始化数据库
这通常是通过运行`mysqld --initialize` 命令来完成的
1.初始化数据库: 切换到 MySQL 的 bin 目录,并运行初始化命令: bash cd /usr/local/mysql/bin假设你将 MySQL 安装在了 /usr/local/mysql目录下 ./mysqld --initialize 或者,如果你使用的是 RPM 包安装的 MySQL,并且它自动创建了必要的目录和文件,你可能不需要手动运行这个命令
但是,为了确保数据库已正确初始化,你可以检查 MySQL 的数据目录(通常是`/var/lib/mysql`)是否包含初始化过程中创建的数据库文件
2.查看初始化日志: 初始化过程中,MySQL 会生成一个日志文件,其中包含了 root用户的临时密码
你需要找到这个日志文件,并记录下临时密码
日志文件通常位于`/var/log/mysqld.log` 或`/var/log/mysql/error.log` 中
你可以使用以下命令来查找日志文件: bash grep temporary password /var/log/mysqld.log 或者: bash grep temporary password /var/log/mysql/error.log 七、启动 MySQL 服务 在初始化数据库后,你可以启动 MySQL 服务
1.启动 MySQL 服务: 使用 systemctl 命令启动 MySQL 服务: bash sudo systemctl start mysql 或者,如果你使用的是 MySQL5.7 的 RPM 包,并且服务名称是`mysqld`: bash sudo systemctl start mysqld 2.设置 MySQL 服务开机自启: 为了确保 MySQL 服务在系统启动时自动启动,你可以使用以下命令将其设置为开机自启: bash sudo systemctl enable mysql 或者: bash sudo systemctl enable mysqld 八、登录 MySQL 并设置 root 密码 在启动 MySQL 服务后,你可以使用 root 用户和初始化过程中生成的临时密码登录 MySQL
1.登录 MySQL: bash mysql -u root -p 在提示输入密码时,输入初始化过程中生成的临时密码
2.设置新的 root 密码: 登录后,你需要设置一个新的 root 密码
使用以下命令设置新密码: sql SET PASSWORD FOR root@localhost = PASSWORD(new_password); 或者,在 MySQL5.7 及更高版本中,你可以使用以下命令: sql ALTER USER root@localhost IDENTIFIED BY new_password; 然后,刷新权限: sql FLUSH PRIVILEGES; 3.退出 MySQL: 设置完新密码后,你可以使用以下命令退出 MySQL: sql EXIT; 九、配置 MySQL(可选) 根据你的需求,你可能还需要对 MySQL 进行一些额外的配置
例如,你可以修改 MySQL 的配置文件(通常是`/etc/my.cnf` 或`/etc/mysql/my.cnf`)来更改默认设置
1.编辑配置文件: 使用你熟悉的文本编辑器打开 MySQL 的配置文件
例如: bash sudo vim /etc/my.cnf 2.修改配置: 在配置文件中,你可以根据需要修改各种设置
例如,你可以更改默认端口、字符集、日志路径等
3.重启 MySQL 服务: 在修改配置文件后,你需要重启 MySQL 服务以使更改生效: bash sudo systemctl