linux mysql5.5.19_Linux Mysql5.7多实例安装2018-04-19

解压 MySQL 5.7 二进制包到指定目录

tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

解压出来的文件目录中的文件移动到、usr/local/mysql目录下

mv /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql

在 MySQL 二进制包目录中创建 mysql-files 目录 [MySQL 数据导入/导出数据专放目录]

mkdir -v /usr/local/mysql/mysql-files

创建多实例数据目录

mkdir -p /data/mysql/{mysql_3506,mysql_3507,mysql_3508,mysql_3509}

mkdir /data/mysql/mysql_3506/{data,log,tmp}

mkdir /data/mysql/mysql_3507/{data,log,tmp}

mkdir /data/mysql/mysql_3508/{data,log,tmp}

mkdir /data/mysql/mysql_3509/{data,log,tmp}

修改 MySQL 二进制包目录的所属用户与所属组

chown root.mysql -R /usr/local/mysql

修改 MySQL 多实例数据目录与 数据导入/导出专放目录的所属用户与所属组

chown mysql.mysql -R /usr/local/mysql/mysql-

files//data/mysql/{mysql_3506,mysql_3507,mysql_3508,mysql_3509}

配置 MySQL 配置文件 /etc/my.cnf

[mysqld_multi]

mysqld = /usr/local/src/mysql/bin/mysqld

mysqladmin = /usr/local/src/mysql/bin/mysqladmin

log = /tmp/mysql_multi.log

[mysqld3506]

datadir = /data/mysql/mysql_3506/data

socket = /data/mysql/mysql_3506/tmp/mysql.sock1

port = 3506

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld3507]

datadir = /data/mysql/mysql_3507/data

socket = /data/mysql/mysql_3507/tmp/mysql.sock1

port = 3507

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld3508]

datadir = /data/mysql/mysql_3508/data

socket = /data/mysql/mysql_3508/tmp/mysql.sock1

port = 3508

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld3509]

datadir = /data/mysql/mysql_3509/data

socket = /data/mysql/mysql_3509/tmp/mysql.sock1

port = 3509

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

初始化各个实例 [ 初始化完成后会自带随机密码在输出日志中 ]

/usr/local/src/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3506/data

/usr/local/src/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3507/data

/usr/local/src/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3508/data

/usr/local/src/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3509/data

各实例开启 SSL 连接

/usr/local/src/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3506/data

/usr/local/src/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3507/data

/usr/local/src/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3508/data

/usr/local/src/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysql/mysql_3509/data

复制多实例脚本到服务管理目录下 [ /etc/init.d/ ]

cp /usr/local/src/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi

给予脚本可执行权限

sudo chmod +x /etc/init.d/mysqld_multi

加入service服务管理

chkconfig --add mysqld_multi

添加环境变量

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=${MYSQL_HOME}/bin:$PATH

执行:

source /etc/profile

查看多个实例状态:mysqld_multi report

66d52aa9c987

image.png

启动各个实例:mysqld_multi start

此时多实例mysql已经搭建完成

修改密码:

连接各个实例:

mysql -S /data/mysql/mysql_3509/tmp/mysql.sock1 -uroot -p

输入初始化实例的时的密码

set password for root@'localhost'=password('123456');

如果此时报错需将实例重启后再次修改。

GRANT ALL PRIVILEGES ON . TO 'mysql'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

至此搭建完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值