本文将详细介绍从准备工作到安装、配置、启动及验证的每一步骤,确保您能够顺利完成安装
请严格按照以下步骤操作,以避免潜在的问题
一、安装前的准备工作 在安装MySQL之前,请确保您的服务器满足以下条件: 1.操作系统:必须是CentOS 7版本
不同版本的CentOS可能会有不同的包管理工具和配置方式,因此请确保您的操作系统版本正确
2.系统权限:建议使用具有root权限的用户来进行安装,因为安装过程中需要修改系统文件和配置,root用户具有足够的权限来完成这些操作
3.网络环境:确保服务器可以访问外部网络,特别是可以连接到MySQL官方的仓库,以便下载安装包
4.依赖包:安装MySQL之前,可能需要预先安装一些系统依赖包,例如wget、gcc等
这些依赖包将在后续的安装过程中使用
二、下载MySQL安装包 您可以从MySQL官方网站下载MySQL 5.7.22的安装包
访问【MySQL官方下载页面】(https://dev.mysql.com/downloads/mysql/5.7.htmldownloads),选择适用于Linux(x86, 64-bit)的RPM Bundle或Tarball进行下载
这里我们以Tarball为例进行说明
下载完成后,您将得到类似`mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz`的文件
请确保将下载的文件保存在一个容易访问的位置,例如`/root`目录
三、解压安装包 接下来,我们需要解压下载的安装包
以root用户身份执行以下命令: tar -zxvf /root/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 解压完成后,您将得到一个名为`mysql-5.7.22-linux-glibc2.12-x86_64`的目录
为了方便管理,我们可以将其移动到`/usr/local`目录下,并重命名为`mysql`: mv mysql-5.7.22-linux-glibc2.12-x86_64/ /usr/local/mysql 四、创建MySQL用户和组 在Linux系统中,出于安全考虑,我们通常不会以root用户身份运行数据库服务
因此,我们需要创建一个专门用于运行MySQL服务的用户和组: groupadd mysql useradd -g mysql mysql passwd mysql 按照提示设置MySQL用户的密码
五、安装数据库 进入MySQL目录,并执行初始化命令: cd /usr/local/mysql bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 注意:如果在执行初始化命令时遇到`libaio.so.1: cannot open shared object file: No such file ordirectory`的错误,说明系统缺少`libaio`库
您可以通过以下命令安装它: yum install -y libaio 安装完成后,再次执行初始化命令
初始化成功后,系统会生成一个随机密码,请务必记住这个密码,因为它将在首次登录MySQL时使用
接下来,执行以下命令创建RSA私钥: bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data 六、更改目录权限 为了确保MySQL用户和组能够访问其目录和文件,我们需要更改MySQL目录的拥有者: chown -R mysql:mysql /usr/local/mysql 七、配置my.cnf文件 MySQL的配置文件`my.cnf`通常位于`/etc`目录下
我们需要创建或修改这个文件,以配置MySQL服务器的参数
以下是一个示例配置: 【mysqld】 character_set_server=utf8 init_connect=SET NAMES utf8 basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock lower_case_table_names=1 log-error=/var/log/mysqld.log pid-file=/usr/local/mysql/data/mysqld.pid 请注意,`lower_case_table_names=1`这个参数用于设置表名是否区分大小写
在Linux系统中,表名默认区分大小写,但设置为1后,表名将不区分大小写
这对于从Windows系统迁移到Linux系统的数据库特别有用
将上述配置保存为`/etc/my.cnf`文件
八、启动MySQL服务 为了启动MySQL服务,我们需要将其添加到系统服务中
首先,复制MySQL提供的启动脚本到`/etc/init.d/`目录下: cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 然后,编辑`/etc/init.d/mysqld`文件,修改`basedir`和`datadir`参数为MySQL的实际安装目录和数据目录: basedir=/usr/local/mysql datadir=/usr/local/mysql/data 保存并退出编辑器后,执行以下命令启动MySQL服务: service mysqld start 如果启动成功,您将看到`Starting MySQL.【 OK】`的提示
接下来,将MySQL服务设置为开机启动: chkconfig --add mysqld 为了方便在命令行中访问MySQL客户端,我们可以创建一个到`/usr/bin`目录的符号链接: ln -s /usr/local/mysql/bin/mysql /usr/bin 九、登录MySQL并修改密码 现在,我们可以使用之前生成的随机密码登录MySQL了: mysql -u root -p 输入随机密码后,您将进入MySQL命令行界面
首先,我们需要修改root用户的密码: ALTER USER root@localhost IDENTIFIED BY 新密码; FLUSH PRIVILEGES; 请务必将`新密码`替换为您想要设置的密码
十、配置远程访问 默认情况下,MySQL只允许本地访问
如果您需要从远程计算机访问MySQL数据库,您需要修改MySQL的配置文件,并授予远程访问权限
首先,编辑MySQL配置文件`/etc/my.cnf`,找到`【mysqld】`部分,并确保`bind-address`参数设置为`0.0.0.0`(或注释掉该行),以允许所有IP地址访问MySQL服务器: 【mysqld】 bind-address = 127.0.0.1 然后,退出MySQL命令行界面,并重新登录(使用新密码)
在MySQL命令行界面中,执行以下命令授予远程访问权限: GRANT ALL PRIVILEGES ON- . TO root@% IDENTIFIED BY 新密码 WITH GRANT OPTION; FLUSH PRIVILEGES; 请注意,将`root`用户授予远程访问权限可能存在安全风险
在生产环境中,建议创建一个具有有限权限的专用用户用于远程访问
最后,重启MySQL服务以使更改生效: service mysqld restart 十一、验证安装 现在,您可以使用MySQL客户端从本地或远程计算机连接到MySQL服务器,并执行一些简单的SQL命令来验证安装是否成功
例如: mysql -u root -p -h 服务器IP地址 输入新密码后,您将进入MySQL命令行界面
执行一些基本的SQL命令(如`SHOW DATABASES;`)来验证MySQL服务器是否正常工作
十二、结论 通过以上步骤,您应该在CentOS7上成功安装了MySQL 5.7.22数据库
请务必牢记MySQL的root用户密码,并妥善保管
此外,定期