CentOS7安装MySQL5.7:使用二进制文件方式

这篇文章主要通过使用二进制文件的方式在 CentOS 7 系统上安装 MySQL 5.7,和 Yum 存储库安装或者 RPM 包安装比来,比较复杂,但是还是建议熟悉下这种安装方式,更能体会到最原始的安装过程,掌握了这种安装方式,对理解 MySQL 的基础知识很有帮助,下面开始。

一、安装环境

安装环境如下:
服务器:CentOS 7
安装版本:MySQL 5.7.28

二、安装过程和细节

1、在官网下载二进制安装文件

官网下载地址如下,这个地址里有各个版本的安装包,根据自己的版本选择,下载对应系统的安装包

https://downloads.mysql.com/archives/community

因为这里我们是在 CentOS 7 系统上安装,所以操作系统选择 Red Hat Enterprise Linux,系统版本选择 Linux 7,通过使用二进制安装文件,所以下载Compressed TAR Archive即可,这里对应的压缩包名是mysql-5.7.28-el7-x86_64.tar.gz
image.png
image.png

2、删除本地默认安装的 MySQL

MySQL 除了自己的发行版本外,还有其他的第三方分支版本,比如 MariaDB,一般 CentOS 系统服务器上会默认安装这个版本的数据库,如果存在,需要先删掉,先用下面命令查看

rpm -qa | grep mariadb

如果发现存在,用下面命令删除

rpm -e --nodeps mariadb-XXX  -- 其中 XXX 表示不同版本

3、安装前准备

安全来看,新增一个 mysql 用户组和非登录用户,用来专门启动 MySQL 服务

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

把刚才下载的二进制安装文件包上传到 /usr/local 目录下,解压

cd /usr/local
tar -zxvf mysql-5.7.28-el7-x86_64.tar.gz

然后创建一个软链接指向解压的安装目录 mysql-5.7.28-el7-x86_64,这一步主要是为了基础目录比较简洁,可以直接使用 /usr/local/mysql,如果不想使用软链接,也可以直接改目录名,或者不改也行

ln -s mysql-5.7.28-el7-x86_64 mysql
或
mv mysql-5.7.28-el7-x86_64 mysql

image.png

4、初始化 MySQL 数据库

现在我们看下 MySQL 二进制安装文件里有什么,主要有下面这些文件,和我们安装相关的主要会用到 bin 和 support-files 里的一些文件

目录用途
bin存放 MySQL 客户端、服务器的可执行文件,比如 mysql、mysqld 等
docsMySQL 相关手册
include一些头文件
lib相关的包库
manUnix 相关手册
share数据库安装的错误消息、字典和 SQL
support-files其他支持文件

这里为了后续方便执行 MySQL 命令,把 /usr/local/mysql/bin 目录加到系统环境变量中,在系统环境变量文件 /etc/profile 里添加下面内容 export PATH=$PATH:/usr/local/mysql/bin

下面在基础目录下,新建 mysql-files目录,主要是为了给 secure_file_priv 系统变量设置一个值,这个变量主要是为了安全使用 LOAD DATA、SELECT … INTO OUTFILE 等导入导出数据函数用的,当然这都是为了安全,不创建这个也是可以的

cd /usr/local/mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files

接下来就可以初始化数据库了,执行下面初始化命令,使用 mysql 用户进行初始化

mysqld --initialize --user=mysql

正常的话,初始化数据库成功,会在当前目录下创建 data 目录,因为 /usr/local/mysql/data 目录就是默认的数据库目录,并且会打印出日志,记住生成的 root@localhost 的临时密码,后续登录需要用到
image.png
看看生成的数据库目录里的初始化数据库文件,看到这些应该就很熟悉了吧
image.png
如果需要安全连接,需要创建 SSL 和 RSA 相关证书和秘钥文件,比如下面这些文件,正常情况下初始化数据库后会自动生成,如上图就可以看出

ca.pem               
ca-key.pem           
server-cert.pem      
server-key.pem       
client-cert.pem      
client-key.pem       
private_key.pem      
public_key.pem       

如果没有生成相关安全文件,可以用下面命令来生成

mysql_ssl_rsa_setup

5、启动 MySQL

初始化数据库后,就可以启动数据库了,使用下面命令启动

mysqld_safe --user=mysql &

启动成功后,会在数据库目录下生成错误日志文件和进程文件,默认错误日志文件命名为 host_name.err,默认进程文件命名为 host_name.pid,其中 host_name 是服务器机子名,这里默认数据库目录 datadir 为 /usr/local/mysql/data,当前服务器机子名为 VM-0-6-centos。另外,生成默认的客户端连接 socket 文件为 /tmp/mysql.sock

默认文件默认文件名
错误日志 err 文件/datadir/host_name.err
进程 pid 文件/datadir/host_name.pid
客户端 socket 文件/tmp/mysql.sock

image.png
当然除了 mysqld_safe,我们还可以使用 mysql.server 启动脚本,在 support-files 目录下,可以把这个脚本加到系统自启动目录下,然后使用 chkconfig 激活即可

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
chmod +x /etc/init.d/mysql.server
chkconfig --add mysql.server

然后,就可以使用下面命令方便启动或关闭数据库,当然也可以用系统支持的 systemd 来管理,这里就不说了

service mysql.server start
service mysql.server stop

数据库正常启动后,可以用下面命令登录,用上面初始化数据库生成的临时密码,因为临时密码比较复杂,所以用单引号区分,也可以不加

mysql -uroot -p'temporary password'

登录后,一般会要求先修改默认密码,用下面命令修改密码后,就可以正常使用了

ALTER USER 'root'@'localhost' IDENTIFIED BY '重置的密码';

到这里,通过二进制安装文件方式安装 MySQL 5.7.28 已经完成。

6、总结所有安装命令

上面是具体的安装步骤,这里总结下所有涉及到的安装命令

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
tar -zxvf mysql-5.7.28-el7-x86_64.tar.gz
ln -s mysql-5.7.28-el7-x86_64 mysql
export PATH=$PATH:/usr/local/mysql/bin -- 这只是临时添加系统环境变量,要永久添加,需要加到 /etc/profile 里
cd /usr/local/mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
mysqld --initialize --user=mysql
mysqld_safe --user=mysql &

-- 使用 mysql.server 管理 MySQL 服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
chmod +x /etc/init.d/mysql.server
chkconfig --add mysql.server
service mysql.server start
service mysql.server stop

7、使用配置文件安装 MySQL

上面的步骤已经可以安装启动 MySQL 数据库了,但是发现没有,一直没有提到最常见的配置文件 my.cnf,在安装和启动 MySQL 的时候,会读取默认的配置文件,我们最熟悉的就是 /etc/my.cnf,还有比如 /etc/mysql/my.cnf 等,如果没有这些配置文件,则会使用默认的配置,比如上面安装提到的

  • 默认的数据目录 datadir,/usr/local/mysql/data
  • 默认的 socket 文件,/tmp/mysql.sock

所以,如果我们要使用自己的配置,可以创建 /etc/my.cnf 文件,然后添加下面几个最基本的配置,这些配置是使用 Yum 存储库安装或 RPM 安装的默认生成配置,使用这些方式安装过的应该很熟悉

[client]
socket=/var/lib/mysql/mysql.sock

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

datadir 目录初始化的时候会自动创建,但是 pid-file 所在目录不会自动创建,如果没有的话,需要先创建

cd /var/run
mkdir mysqld
chown mysql:mysql mysqld

编写好配置文件后,初始化数据库的时候就会根据对应配置生成对应数据库文件

8、删除 MySQL

安装完 MySQL 后,不需要了怎么删呢,根据上面的安装过程,只需要删除安装的相关文件即可

-- 删除添加的 mysql.server 服务
chkconfig --del mysql.server
rm -f /etc/init.d/mysql.server

-- 删除 MySQL 安装相关文件
rm -f /usr/local/mysql     -- 删除软链接
rm -rf /usr/local/mysql-5.7.28-el7-x86_64

三、使用二进制文件安装方式总结

从上面的安装过程可以看到,使用二进制文件安装比较繁琐,所以平时我不推荐使用这种方式安装。其实,和通过 Yum 存储库或 RPM 安装包方式安装相比,这两种方式只是把一些需要手动去安装的过程都自动处理,比如下面这些过程

  • 新建 mysql 用户组和用户
  • 创建配置文件 my.cnf
  • 把相关可执行文件加到 /usr/bin、/usr/sbin 目录下
  • 添加系统服务管理文件 mysql.service,方便管理 MySQL

所以,可以看到,使用Yum 存储库或 RPM 安装包方式会方便许多,平时安装推荐使用这两种方式。但是,二进制文件安装方式可以帮助你更好地理解 MySQL 整个安装的基础过程和注意细节。

其他 MySQL 安装文章推送

CentOS7安装MySQL:使用Yum存储库方式
CentOS7安装MySQL:使用RPM安装包方式(推荐)

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值