MySQL,作为开源数据库管理系统中的佼佼者,以其高性能、稳定性和易用性赢得了广泛的赞誉
特别是在Linux操作系统中,MySQL的安装和配置显得尤为重要
本文将详细介绍如何在CentOS 7上通过RPM方式安装MySQL 8,确保每一步都清晰明了,让您轻松上手
一、准备工作 在安装MySQL 8之前,我们需要做好一些准备工作
首先,确保您的CentOS 7系统已经更新到最新版本,以避免潜在的兼容性问题
其次,由于MySQL和MariaDB在端口和配置文件等方面存在冲突,如果系统中已安装MariaDB,需要先将其卸载
1.检查并卸载MariaDB 打开终端,输入以下命令检查是否已安装MariaDB: bash rpm -qa | grep mariadb 如果系统返回了MariaDB的相关包信息,说明MariaDB已安装
此时,您需要依次卸载这些包
例如,如果返回的是`mariadb-libs-5.5.60-1.el7_5.x86_64`,则使用以下命令卸载: bash rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 注意:`--nodeps`选项用于强制卸载,即使存在依赖关系也会继续
但请谨慎使用,以免卸载关键依赖导致系统不稳定
2.下载MySQL 8 RPM包 接下来,我们需要从MySQL官方网站下载适用于CentOS 7的MySQL 8 RPM包
访问【MySQL官方下载页面】(https://downloads.mysql.com/archives/community/),选择“Community Server”下的“RPM Bundle”进行下载
下载完成后,您会得到一个包含多个RPM文件的压缩包(如`mysql-8.0.xx-1.el7.x86_64.rpm-bundle.tar`)
3.上传压缩包到服务器 将下载的压缩包上传到您的CentOS 7服务器
您可以使用FTP、SCP或其他文件传输工具来完成这一步
例如,使用SCP命令: bash scp mysql-8.0.xx-1.el7.x86_64.rpm-bundle.tar root@your_server_ip:/opt/ 将压缩包上传到服务器的`/opt`目录下(或其他您指定的目录)
二、安装MySQL 8 1.解压压缩包 进入`/opt`目录,解压下载的MySQL RPM包压缩包: bash cd /opt tar -xvf mysql-8.0.xx-1.el7.x86_64.rpm-bundle.tar 解压后,您会看到多个RPM文件,包括`mysql-community-common`、`mysql-community-libs`、`mysql-community-client`、`mysql-community-server`等
2.安装MySQL RPM包 按照依赖关系,依次安装这些RPM包
安装顺序通常如下: bash rpm -ivh mysql-community-common-8.0.xx-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.xx-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.xx-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.xx-1.el7.x86_64.rpm 注意:将`8.0.xx`替换为您下载的MySQL版本的具体编号
3.初始化MySQL 在安装完成后,需要初始化MySQL数据库
这将创建系统表,并生成一个临时root密码
运行以下命令进行初始化: bash mysqld --initialize --console 初始化完成后,您会在终端输出中看到一个临时密码,类似于`A_temporary_password_is_generated_for_root@localhost: xxxxxxxx`
请记下这个密码,稍后在首次登录MySQL时会用到
4.启动MySQL服务 使用`systemctl`命令启动MySQL服务: bash systemctl start mysqld 您还可以使用以下命令检查MySQL服务的状态: bash systemctl status mysqld 5.设置MySQL root密码 在MySQL服务启动后,使用临时密码登录MySQL: bash mysql -u root -p 然后,系统会提示您输入密码
输入之前记下的临时密码并按回车
登录成功后,运行以下命令修改root密码: sql ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY new_password; FLUSH PRIVILEGES; 将`new_password`替换为您希望设置的新密码
三、配置MySQL 1.修改配置文件 MySQL的配置文件通常位于`/etc/my.cnf`
您可以使用`vim`或其他文本编辑器打开并编辑这个文件: bash vim /etc/my.cnf 在配置文件中,您可以根据需要调整各种参数
以下是一些常用的配置选项: ini 【mysqld】 指定MySQL服务器存储数据文件的目录 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock 错误日志路径 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 设置MySQL服务运行的端口号 port=3306 指定MySQL数据库的默认字符集 character-set-server=utf8mb4 允许外部访问(注意:在生产环境中,请谨慎开启此选项,并确保已配置防火墙规则) bind-address=0.0.0.0 【client】 socket=/var/lib/mysql/mysql.sock 根据您的实际需求,调整上述配置选项
保存并退出编辑器
2.配置防火墙 如果您的CentOS 7服务器启用了防火墙(通常是`firewalld`),则需要开放MySQL服务的端口(默认是3306)
运行以下命令开放端口: bash firewall-cmd --zone=public --add-port=3306/tcp --perm