CentOS7.0如何启动多个MySQL实例教程(mysql-5.7.21)

作者&投稿:羽胀 (若有异议请与网页底部的电邮联系)
~

配置说明

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_64.tar.gz

1、获取mysql二进制包,然后通过 tar命令解压,通过mv mysql-5.7.21-linux-glibc2.12-x86_64 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还有很多配置和功能需要注意,后续有机会整理一下。

总结




宣汉县13374977723: 在centos下怎样安装多个mysql实例 -
费面达诺: 数据库一:MYSQL版本:mysql-5.0.56 PORT:3306 系统目录:/usr/local/mysql3306 数据库二:MYSQL版本:mysql-5.1.72 PORT:3307!

宣汉县13374977723: centos 7.0 怎么启动mysql -
费面达诺: 比如安装步骤是这样的yum -y install mysql mysql-server mysql-devel那么启动是这样的chkconfig --level 35 mysqld on/etc/init.d/mysqld start

宣汉县13374977723: centos 7.0 怎么启动mysql -
费面达诺: 你好, centos7自带是mariadb,一个mysql的变种.查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql*安装mysql软件(mariadb)yum install mysql*启动mysql systemctl start mariadb.service 或者 systemctl start mysqld.service ...

宣汉县13374977723: 请教Linux shell下如何同时执行多个脚本 -
费面达诺: Linux下可以有两种方式执行Shell脚本: 1、用shell程序执行脚本:根据shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);然后输入命令(其中bash为shell的名称,myshell.sh则为要执行的代码):bash myshell.sh2、直接执行脚本:不过首先的加上可执行权限(也许要root权限,4情况而定),执行:

宣汉县13374977723: 怎么在centos7.0 上创建一个数据库 -
费面达诺: 1. Jhonse技术博客无法连接数据库2. 启动mysqld服务3. 重启mysqld服务4. 查看磁盘容量 通过以上重启mysqld服务,都提示无法重启mysqld服务,所以只好查看下磁盘是否已用完.通过df -a命令发现系统盘/dev/vxda1已使用100%.

宣汉县13374977723: centos7.0 rpm安装的apache怎么启动 -
费面达诺: 启动服务:service httpd start 开机启动:chkconfig httpd on

宣汉县13374977723: CentOS 7.3 下 service 的启动如何设置依赖 -
费面达诺: CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Linux标准组的启动脚本. Systemd是一个Linux操作系统下的系统和服务管理器.

宣汉县13374977723: 如何制作centos 7.0 u盘启动 -
费面达诺: 方法/步骤1.先使用ultraiso 刻录镜像至U盘内.22.更改bios启动顺序(即U盘先启动),然后进入此界面,按下tab键.将vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet 改为: vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdc4 quiet 注:一般是sdb,因为硬盘一般是sda,可能会有不同,但是一般是sdb1..点击回车,就ok啦

宣汉县13374977723: 如何在CentOS 7.0上配置Ceph存储 -
费面达诺: 1、开始在CentOS 7中安装Subversion2、加配置文件到Apache3、创建SVN用户 [root@linuxidc-centos7 ~]# htpasswd -cm /etc/svn-auth-users testuser1 New password:Re-type new password:Adding password for user testuser1 [root@linuxidc-...

宣汉县13374977723: CentOS 7.0没有ifconfig命令怎么办 -
费面达诺: linux系统查看ip地址常用命令是【ifconfig】,CentOS 7.0最小安装是没有ifconfig命令怎么办?当然可用【ip addr】查看;还有一种方法就是安装ifconfig命令1、输入【yum search ifconfig】命令,查看ifconfig所属命令包是net-tools.x86_642、【yum install net-tools.x86_64】安装命令包,中途会询问“Is this os [y/d/n]”,按y回车,Complete完成安装.3、输入【ifconfig】查看安装成果

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网