特别是在CentOS操作系统环境下,MySQL的安装与配置显得尤为重要
本文将详细介绍如何在无互联网连接的环境下,即离线模式下,在CentOS系统上安装MySQL数据库
此指南适用于CentOS7版本,其他版本的操作步骤可能会有所不同,但基本思路相似
一、准备工作 离线安装MySQL的首要任务是准备好所有必要的安装包
这些安装包通常包括MySQL本身的安装包以及它可能依赖的其他库文件
1.下载MySQL安装包 前往MySQL官方网站(【https://dev.mysql.com/downloads/mysql/】(https://dev.mysql.com/downloads/mysql/))下载适合CentOS系统的MySQL安装包
由于不同版本的MySQL可能具有不同的特性和稳定性,建议根据实际需求选择合适的版本
例如,MySQL5.7版本在稳定性方面表现良好,但不支持一些新功能,如窗口函数和JSON数据;而MySQL8.0及以上版本则提供了这些新功能
下载时,注意选择Linux Generic(glibc2.12+)(x86,64-bit)版本的tar.gz压缩包,这是适用于CentOS7的二进制安装包
2.下载libaio安装包 MySQL的初始化过程可能依赖于libaio库
因此,在离线安装MySQL之前,需要先下载并准备好libaio的安装包
可以从CentOS的官方镜像站点(如【http://mirror.centos.org/centos/7/os/x86_64/Packages/】(http://mirror.centos.org/centos/7/os/x86_64/Packages/))下载libaio的rpm安装包
3.传输安装包至CentOS系统 使用远程传输工具(如MobaXterm、FileZilla、XFTP等)将下载好的安装包传输至CentOS系统
如果无法直接复制文件,可以考虑设置虚拟机共享文件夹或使用其他物理传输方式
二、卸载自带数据库 在安装MySQL之前,建议卸载CentOS系统自带的MariaDB数据库,以避免潜在的冲突
1.查找并删除MariaDB 使用`rpm -qa | grep mariadb`命令查找系统中是否安装了MariaDB
如果已安装,使用`yum remove`命令删除它
同时,使用`find / -name mysql`命令查找并删除MySQL相关的文件目录
三、安装MySQL 1.解压安装包 将传输至CentOS系统的MySQL安装包解压至指定目录
例如,可以使用`tar -zxvf mysql-5.7.xx-linux-glibc2.12-x86_64.tar.gz`命令将安装包解压至`/usr/local/`目录下,并重命名为`mysql`
2.安装libaio包 使用`rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm`命令安装libaio包,以防止MySQL初始化过程中报错
3.创建用户组和用户 使用`groupadd mysql`命令创建mysql用户组,并使用`useradd -r -g mysql mysql`命令创建mysql用户并将其添加到mysql用户组中
4.创建数据目录 根据服务器部署情况,创建用于存放MySQL数据的目录
例如,可以在`/data/mysql/`目录下创建`data`、`logs`和`mariadb`等子目录,分别用于存放数据库文件、日志文件和mysqld_safe日志文件
5.修改目录权限 使用`chown -R mysql:mysql`命令修改MySQL安装目录和数据目录的用户组和权限,确保mysql用户有权限访问这些目录
同时,使用`chmod -R775`命令修改目录的编辑权限
6.创建配置文件 备份原有的`/etc/my.cnf`配置文件(如果存在),并创建新的配置文件
在配置文件中,设置MySQL的数据目录、socket文件位置、端口号、最大连接数、字符集等参数
特别是要注意设置`datadir`、`socket`、`port`、`character-set-server`等关键参数
7.初始化数据库 进入MySQL的安装目录(即解压路径)下的bin目录,执行`./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data`命令初始化数据库
初始化成功后,日志结尾处会出现初始化的临时密码,需要记录下来以便首次登录时使用
四、配置MySQL服务 1.配置快捷启动 为了方便启动MySQL服务,可以创建软链接
例如,可以使用`ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql`命令创建启动脚本的软链接,并使用`chmod +x /etc/init.d/mysql`命令为启动脚本添加执行权限
同时,可以将MySQL的bin目录添加到系统PATH中,以便在任意目录下都能使用mysql命令
2.设置开机启动 使用`chkconfig --add mysqld`命令将MySQL服务添加至系统服务,并使用`chkconfig --list mysqld`命令确认服务运行级别状态
然后,可以使用`service mysqld start`命令启动MySQL服务
3.防火墙开放端口 如果需要使用远程连接MySQL数据库,需要在防火墙中开放MySQL的默认端口(通常是3306端口)
可以使用`firewall-cmd --zone=public --add-port=3306/tcp --permanent`命令添加开放端口,并使用`firewall-cmd --reload`命令重新加载防火墙配置
五、登录与配置MySQL 1.首次登录 使用初始化时生成的临时密码登录MySQL数据库
登录成功后,可以执行`ALTER USER root@localhost IDENTIFIED BY new_password;`命令修改root用户的密码
2.开启远程连接 如果需要使用第三方客户端远程连接MySQL数据库,需要执行`UPDATE user SET host = % WHERE user = root;`命令允许root用户从任意主机连接
同时,需要设置默认的字符集为`utf8mb4`,并刷新权限
3.其他配置 根据实际需求,可以执行其他配置操作,如创建数据库、表和用户等
同时,建议定期备份数据库文件和数据,以防止数据丢失
六、总结 离