在一台linux机子上安装部署3个mysql实例

这里以centos7为例,mysql版本为5.6.10,由于是在一台机器上安装多个相同服务,所以最好使用二进制方式配置启动。下载一份mysql二进制包,解压3份,分别命名为mysql-1、mysql-2、mysql-3.

下载命令:

# wget https://downloads.mysql.com/archives/get/file/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz

首先在mysql-1目录下面修改启动配置文件my-default.cnf,这个文件在support-files目录下,主要修改一下几项:

basedir = /home/mysql-1
datadir = /home/mysql-1/data
port = 3306
server_id = 1

剩余两个实例改成自己的目录就行,端口号依次为3307、3308,server_id依次为2、3.当然这里只介绍最基础的配置,不包含高级配置(比如主从同步要开启log-bin、半同步要配置rpl和relay等等)。配置好以后就要开始初始化数据库了,在初始化数据库之前应该新建一个mysql用户和用户组,因为用root用户初始化数据库一切正常,但是用root启动就会报:can’t find file ‘./mysql/plugin.frm’ ; 所以新建mysql用户组:

#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
#授权当前目录权限给mysql
chown -R mysql:mysql ./

紧接着初始化数据库:

# ./scripts/mysql_install_db --user=mysql --defaults-file=/home/mysql-1/support-files/my-default.cnf --datadir=/home/mysql-1/data --basedir=/home/mysql-1

如果没有报错的话,就初始化成功了,初始化成功后会在当前目录下生成一个配置文件my.cnf,此处为mysql-1目录下,然后会提示你启动的时候如果你没有通过–defaults-file指定特定配置文件的话,会使用/etc/my.cnf,所以我们最好指定自己的,因为有三个实例在一台机子上,不能用同一个配置文件。启动第一个实例:

# ./bin/mysqld_safe --defaults-file=/home/mysql-1/my.cnf &

其他两个实例重复以上过程,在各自的目录下执行。如果你的centos7是最小化安装,那么当你初始化数据库时会报这个错:/usr/bin/perl: bad interpreter: No such file or directory;这是因为最小化安装没有安装perl环境,而mysql_install_db命令里面第一行就是寻找perl命令,找不到当然报错,刚开始没弄清楚在网上搜这个错误,都说是文件编码问题,我打开文件用:set ff 查看确实是unix格式,所以排除这个原因,后来明白是我根本没安装perl环境,那么就安装一下:

# yum install perl

安装好后再次执行初始化命令,有报这个错:Can’t locate Data/Dumper.pm in … ;这个是缺少perl插件,继续安装。

# yum install 'perl(Data::Dumper)'
# yum install perl-Module-Install.noarch //如果上面一行执行完后可以正常初始化数据库,可以不执行这一句。

最后一个问题是,当你想关掉mysql进程,使用ps -aux|grep mysql 找到mysql进程id,用kill -9杀掉。因为我上面用的是mysqld_safe命令启动的,是一种以守护进程的方式启动的,你关掉mysql应该先关掉mysqld_safe进程,不然kill -9后又重新启动了,只是进程id变了;所以要想关掉要kill两次。

赞(2)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 在一台linux机子上安装部署3个mysql实例

登录

找回密码

注册