视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CentOS7.0如何启动多个MySQL实例教程(mysql-5.7.21)
2020-11-09 20:27:22 责编:小采
文档

配置说明

Linux系统:CentOS-7.0

MySQL版本:5.7.21

Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我现在还没研究这种方法是怎么做的;另一种就是通过安装多个MySQL服务器的原始方法实现。我现在是通过第二种方法实现的。成功启动2个MySQL实例。接下来介绍一下操作过程,请多指教。

一、安装第一个MySQL(5.7.21)服务器

首先说明下我是用二进制包安装mysql的:mysql-5.7.21-linux-glibc2.12-x86_.tar.gz

1、获取mysql二进制包,然后通过 tar命令解压,通过mv mysql-5.7.21-linux-glibc2.12-x86_ mysql_3306命令将解压的文件夹进行重命名成较短的名称,备注要使用的端口号,便于区分。至于要将解压后的文件放在哪里,你自己决定,区别是,如果你不是将解压文件命名成mysql后直接放到/usr/local目录下,或者通过ln在/usr/local目录下使用mysql引用的话,你需要在my.cnf或者启动命令参数中指定(basedir=实际的解压文件路径 和 datadir=实际的结业文件路径/data)。这个说明其实在mysql.server中,可以使用vi命令打开看一下。

2、看了网上很多mysql的安装方法介绍,都会提到新增用户组、用户:groupadd mysql和useradd -r -g mysql -s /bin/false mysql,增加了mysql用户和mysql用户组。这个看你自己实际需要,因为我就是自己用,没有安全问题,就没有新增,而是直接用root。如果需要新增用户和用户组,可以网上查找资料或者在MySQL的官方手册中看到:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

3、新建my.cnf或者从别处复制一份过来,主要是在初始化文件中指定basedir、datadir、端口号以及socket等参数,下图是我的my.cnf内容,请根据自己的实际路径替换相关参数,放在安装目录下:

4、按照官方文档的安装步骤,还需要在安装目录下新建一个mysql-files文件夹,具体为什么要新建这个文件夹我还不是很清楚,哈哈,给出官方文档的内容“The mysql-files directory provides a convenient location to use as the value for the secure_file_priv system variable, which limits import and export operations to a specific directory.”

5、接下来初始化mysql,首先在安装目录下新增data文件夹,然后进入到安装目录的bin文件夹下面,执行以下命令: “./mysqld --initialize --user=root --basedir=/data/program/mysql3306 --datadir=/data/program/mysql3306/data” 。在linux中,命令带参数时,如果参数名是全称,就用两个横杠“--”,如果参数时简称,就用一个横杠“-”,比如,./mysql --host=localhost 和 ./mysql -hlocalhost。在上述初始化mysql的命令中,请把参数值替换成你自己的路径和用户。如果你只安装一个mysql,并且是在/usr/local/mysql这个默认目录,就不需要指定basedir和datadir参数。如果你因为某种原因想要重新初始化,那么你需要先把data目录下的内容删掉,你可以选择删除整个data文件夹然后新增:rm -rf data, mkdir data,然后你再执行上面的初始化命令,就可以顺利重新初始化。这里需要注意的是,初始化成功之后,会在提示信息的末尾找到默认密码,一定要记住了,一会儿客户端登入的时候要用。

6、接下来创建安全传输所需的证书和key,在bin目录下执行命令: “./mysql_ssl_rsa_setup --datadir=/data/program/mysql3306/data” ,同样,将参数替换成你的值,默认的安装目录不需要指定datadir值。这个命令的作用官方说明如下:“This program creates the SSL certificate and key files and RSA key-pair files required to support secure connections using SSL and secure password exchange using RSA over unencrypted connections, if those files are missing.”,大概是说通过这个命令创建了在非加密连接上使用SSL和RSA进行安全传输所需的SSL证书和key,RSA键值对。

 7、到此mysql的初始化就完成了,可以启动mysql服务器了,5.7版本以后好像都是使用mysqld_safe命令启动服务的,也可以使用support-file目录下的mysql.server来启动,不过mysql.server也是使用mysqld_safe来启动的。mysqld_safe的命令如下: “./mysqld_safe --defaults-file=/data/program/mysql3306/my.cnf  --user=root --port=3306 &” ,关键的是要指定my.cnf路径,因为我没有安装在默认目录下,而且我们是要在一个机器上安装两个mysql的。这里面要注意的是“--defaults-file”一定要作为第一个参数,不然会报错,有相应提示;另外就是命令末尾的“&”,这个是告诉系统将mysql这个实例作为后台进程,这样退出命令的时候mysql服务器才能继续运行。

关于mysql_safe命令的详细参数可以参考://www.gxlcms.com/article/52259.htm

8、启动服务器之后,就可以使用客户端访问服务器了,在bin目录下执行命: “./mysql -uroot -P3306 -p” ,然后提示输入密码,那么你就把步骤5中的默认密码输入。进去之后,通过命令set password=password('new password')设置你的新密码,否则服务器也不会让你操作其他东西。

9、至此,已经完成一个mysql的安装。

二、安装第n个MySQL(5.7.21)服务器

有了上面的安装过程,基本上安装第n个mysql是跟上面的一样,解压安装包,重命名为mysql_port,通过端口号区分不同的mysql服务器,然后将my.cnf以及上面所执行的命令中,有关路径的参数都替换成相应的路径,就可以了。通过制定具体路径的方式,就可以实现一个linux机器下安装并启动多个mysql实例。在客户端访问服务器时,需要制定哪个端口,用参数-P3306,大写的P。

这是只一个简单安装过程的记录和学习,mysql还有很多配置和功能需要注意,后续有机会整理一下。

总结

下载本文
显示全文
专题