MySQL作为一款开源的关系型数据库管理系统,凭借其高性能、可靠性和易用性,在众多项目中得到了广泛应用
然而,在一些生产环境中,服务器可能无法直接访问外部网络,这就需要我们掌握离线安装MySQL的方法
本文将详细介绍如何在离线环境下,于CentOS 7系统中安装MySQL 5.7版本
一、前期准备 在开始安装之前,我们需要做一些准备工作,以确保安装过程顺利进行
1.下载MySQL安装包 由于我们的安装环境是离线的,因此首先需要从一台可以访问外网的机器上下载MySQL 5.7的安装包
你可以从MySQL的官方下载页面(如【MySQL官方下载链接】(https://downloads.mysql.com/archives/community/))获取安装包
通常情况下,下载页面会提供多个安装包选项,建议选择64位的RPM包合集,因为大多数现代服务器都使用64位操作系统
2.传输安装包 将下载好的MySQL安装包通过USB存储设备或其他安全的传输方式,复制到目标CentOS 7服务器上
建议将安装包存放在一个易于访问的目录下,例如`/usr/local/src`
3.卸载系统自带的MariaDB CentOS 7系统默认安装了MariaDB,这是MySQL的一个分支
为了避免冲突,我们需要在安装MySQL之前卸载MariaDB
可以使用以下命令来查询并卸载MariaDB:
bash
rpm -qa | grep mariadb
rpm -e --nodeps
二、创建MySQL用户和目录
在正式开始安装之前,我们需要为MySQL创建一个专门的用户和组,以及相关的数据目录和配置文件目录
1.创建MySQL用户和组
使用`groupadd`和`useradd`命令来创建MySQL用户和组:
bash
groupadd mysql
useradd -g mysql mysql -d /usr/local/mysql
2.创建数据目录和配置文件目录
接下来,我们需要为MySQL创建数据目录、日志目录和临时文件目录 这些目录通常位于`/usr/local/mysql`或其子目录下:
bash
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/log
mkdir -p /usr/local/mysql/tmp
三、解压并安装MySQL
现在,我们可以开始解压并安装MySQL安装包了
1.解压安装包
将下载的MySQL安装包解压到`/usr/local`目录下 假设你下载的是`mysql-5.7.xx-linux-glibc2.12-x86_64.tar.gz`格式的压缩包,可以使用以下命令进行解压:
bash
cd /usr/local
tar -zxvf /path/to/mysql-5.7.xx-linux-glibc2.12-x86_64.tar.gz
解压后,你会得到一个名为`mysql-5.7.xx-linux-glibc2.12-x86_64`的目录
2.创建软链接(可选)
为了方便后续的管理和升级,可以为解压后的MySQL目录创建一个软链接:
bash
ln -s mysql-5.7.xx-linux-glibc2.12-x86_64 mysql
3.修改文件权限
将MySQL目录及其子目录的所有者和组更改为之前创建的mysql用户和组:
bash
chown -R mysql:mysql /usr/local/mysql
四、配置MySQL
在安装完MySQL之后,我们需要进行一些配置工作,以确保MySQL能够正常运行
1.创建配置文件
MySQL的配置文件通常位于`/etc/my.cnf` 我们需要创建这个文件,并根据实际需求添加配置项 以下是一个基本的配置文件示例:
ini
【client】
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
【mysqld】
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/tmp
socket=/usr/local/mysql/tmp/mysql.sock
pid-file=/usr/local/mysql/log/mysql.pid
skip_name_resolve=1
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect=SET NAMES utf8mb4
lower_case_table_names=1
max_connections=400
max_connect_errors=1000
explicit_defaults_for_timestamp=true
max_allowed_packet=128M
interactive_timeout=1800
wait_timeout=1800
tmp_table_size=16M
请根据你的实际需求调整这些配置项
2.初始化数据库
在配置好MySQL之后,我们需要初始化数据库 使用以下命令进行初始化:
bash
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql
初始化过程中,会在指定的数据目录下生成一个`error.log`文件,其中包含了root用户的随机密码 你需要记下这个密码,以便在后续登录MySQL时使用
五、启动MySQL并设置开机自启
完成上述配置后,我们可以启动MySQL服务,并设置其开机自启
1.复制启动脚本
将MySQL的启动脚本复制到系统的服务目录中:
bash
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
2.设置脚本执行权限
为启动脚本设置执行权限:
bash
chmod +x /etc/rc.d/init.d/mysqld
3.添加服务并设置开机自启
将mysqld服务添加到系统服务中,并设置其开机自启:
bash
chkconfig --add mysqld
chkconfig --level 35 mysqld on
4.启动MySQL服务
使用以下命令启动MySQL服务:
bash
service mysqld start
六、配置环境变量并登录MySQL
为了方便在命令行中操作MySQL,我们可以配置环境变量
1.配置环境变量
切换到mysql用户,并编辑其`.bash_profile`文件,添加MySQL的bin目录到PATH中:
bash
su - mysql
vi .bash_profile
在文件中添加以下行:
bash
export PATH=$PATH:/usr/local/mysql/bin
保存并退出编辑器后,使用`source .bash_profile`命令使配置生效
2.登录MySQL并修改密码
现在,你可以使用`mysql -uroot -p`命令登录MySQL了 在提示输入密码时,输入初始化时生成的随机密码 登录成功后,使用以下命令修改root用户的密码:
sql
ALTER USER root@localhost IDENTIFIED BY new_password;
请将`new_password`替换为你希望设置的新密码
七、后续操作与优化
安装并配置好MySQL后,你可能还需要进行一些后续操作和优化工作,以确保MySQL的性能和安全性
1.开启远程访问
如果你的MySQL服务器需要远程访问,可以通过修改配置文件并授予远程访问权限来实现 具体步骤包括:
-修改`/etc/my.cnf`文件,确保`bind-address`参数设置为`0.0.0.0`或你的服务器IP地址
- 登录MySQL,使用`GRANT`语句授予远程访问权限
2.定期备份
定期备份数据库是确保数据安全的重要措施 你可以使用MySQL自带的`mysqldump`工具进行备份,或者使用其他第三方备份工具
3.性能监控与优化
根据实际需求,对MySQL进行性能监控和优化 这包括调整配置参数、优化查询语句、使用索引等
4.安全加固
加强MySQL的安全设置,包括设置强密码、禁用不必要的用户、限制远程访问等 同时,定期更新MySQL版本和补丁,以修复已知的安全漏洞
八、总结
离线在CentOS 7上安装MySQL 5.7虽然比在线安装要复杂一些,但只要按照上述步骤逐步操作,就能够顺利完成安装和配置工作 通过合理的配置和优化,MySQL能够为你提供高效、可靠的数据库服务 希望本文能够对你有所帮助!