龙空技术网

CentOS7安装MySQL5.7:使用二进制文件方式(新手必看)

野鸽码字 248

前言:

当前朋友们对“mysql80二进制安装”都比较看重,我们都需要知道一些“mysql80二进制安装”的相关文章。那么小编也在网上网罗了一些关于“mysql80二进制安装””的相关资讯,希望你们能喜欢,大家一起来学习一下吧!

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

一、安装环境

安装环境如下:

服务器:CentOS 7

安装版本:MySQL 5.7.28

二、安装过程和细节1、在官网下载二进制安装文件

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

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

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

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

rpm -qa | grep mariadb

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

rpm -e --nodeps mariadb-XXX -- 其中 XXX 表示不同版本
3、安装前准备

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

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

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

cd /usr/localtar -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
4、初始化 MySQL 数据库

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

目录

用途

bin

存放 MySQL 客户端、服务器的可执行文件,比如 mysql、mysqld 等

docs

MySQL 相关手册

include

一些头文件

lib

相关的包库

man

Unix 相关手册

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/mysqlmkdir mysql-fileschown mysql:mysql mysql-fileschmod 750 mysql-files

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

mysqld --initialize --user=mysql

正常的话,初始化数据库成功,会在当前目录下创建 data 目录,因为 /usr/local/mysql/data 目录就是默认的数据库目录,并且会打印出日志,记住生成的 root@localhost 的临时密码,后续登录需要用到

看看生成的数据库目录里的初始化数据库文件,看到这些应该就很熟悉了吧

如果需要安全连接,需要创建 SSL 和 RSA 相关证书和秘钥文件,比如下面这些文件,正常情况下初始化数据库后会自动生成,如上图就可以看出

ca.pemca-key.pemserver-cert.pemserver-key.pemclient-cert.pemclient-key.pemprivate_key.pempublic_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

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

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

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

service mysql.server startservice mysql.server stop

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

mysql -uroot -p'temporary password'

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

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

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

6、总结所有安装命令

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

groupadd mysqluseradd -r -g mysql -s /bin/false mysqlcd /usr/localtar -zxvf mysql-5.7.28-el7-x86_64.tar.gzln -s mysql-5.7.28-el7-x86_64 mysqlexport PATH=$PATH:/usr/local/mysql/bin -- 这只是临时添加系统环境变量,要永久添加,需要加到 /etc/profile 里cd /usr/local/mysqlmkdir mysql-fileschown mysql:mysql mysql-fileschmod 750 mysql-filesmysqld --initialize --user=mysqlmysqld_safe --user=mysql &  -- 使用 mysql.server 管理 MySQL 服务cp /usr/local/mysql/support-files/mysql.server /etc/init.d/chmod +x /etc/init.d/mysql.serverchkconfig --add mysql.serverservice mysql.server startservice 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/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

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

cd /var/runmkdir mysqldchown mysql:mysql mysqld

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

8、删除 MySQL

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

-- 删除添加的 mysql.server 服务chkconfig --del mysql.serverrm -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安装包方式(推荐)

标签: #mysql80二进制安装