mysql分布式安装配置

mysql innodb cluster安装记录

  1. 安装Python2.7

安装前确认已经安装了zlib-devel,因为后面要用

whereis zlib

如果没有安装,使用如下命令安装

yum install zlib-devel.x86_64

下载wget http://mirrors.sohu.com/python/2.7/Python-2.7.tar.bz2

解压 tar -xf Python-2.7.tar.bz2

cd Python-2.7

./configure

make all

make install

make clean

make distclean

 

mv /usr/bin/python /usr/bin/python2.bak

ln -s /usr/local/bin/python2.7 /usr/bin/python

python -V # 看到已经是2.7

    yum修复

    vi /usr/bin/yum

       #!/usr/bin/python 修改为 #!/usr/bin/python2.6,保存退出

  1. 安装mysql

添加用户

groupadd mysql

useradd -g mysql -s /bin/false mysql

下载

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

解压

tar zxf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/

ln -s /usr/local/mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql

./mysqld --user=mysql --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql

上一步可能遇到错误` error while loading shared libraries: libnuma.so.1 `,解决办法安装相应的包

yum install numactl

拷贝服务启动脚本

cp support-files/mysql.server /etc/init.d/mysql.server

添加开机启动

chkconfig --add mysql.server

chkconfig  mysql.server on

添加环境变量

export PATH=$PATH:/usr/local/mysql/bin

编辑配置文件:

vi /etc/my.cnf

   特别注意修改[mysqld]下的下面两项为对应值,因为我们修改了数据存储的位置

   datadir=/data/mysql

socket=/data/mysql/mysql/mysql.sock

最终的my.cnf参照附件《my.cnf》,每个节点的server_id应该不同

另外因为各节点使用hostname通信,my.cnf中设置report-host为主机的hostname

启动

service mysql.server start

登录

mysql -h 127.0.0.1 -uroot

给root用户创建密码

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

下次登录使用mysql -h 127.0.0.1 -uroot -p

确认数据存储路径为/data/mysql

show global variables like "%datadir%";

  1. 安装mysql-shell

下载

wget https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-1.0.11-linux-glibc2.12-x86-64bit.tar.gz

解压

tar zxf mysql-shell-1.0.11-linux-glibc2.12-x86-64bit.tar.gz

mv mysql-shell-1.0.11-linux-glibc2.12-x86-64bit /usr/local/

ln -s /usr/local/mysql-shell-1.0.11-linux-glibc2.12-x86-64bit /usr/local/mysql-shell

添加到环境变量

export PATH=$PATH:/usr/local/mysql-shell/bin

  1. 安装mysql-router

只需要安装一个

下载

wget https://cdn.mysql.com//Downloads/MySQL-Router/mysql-router-2.1.4-linux-glibc2.12-x86-64bit.tar.gz

解压

tar zxf mysql-router-2.1.4-linux-glibc2.12-x86-64bit.tar.gz

mv mysql-router-2.1.4-linux-glibc2.12-x86-64bit /usr/local/

ln -s /usr/local/mysql-router-2.1.4-linux-glibc2.12-x86-64bit /usr/local/mysql-router

添加到环境变量

export PATH=$PATH:/usr/local/mysql-router/bin

  1. primary节点(node01)配置
    1. mysql节点操作

确保mysql已经启动,否则使用一下命令启动

service mysql.server start

    1. 使用mysql-shell操作

进入mysql-shell 启用日志

mysqlsh --log-level=DEBUG3

mysql-shell

dba.verbose=2

连接

shell.connect('root@localhost:3306');

执行配置

dba.configureLocalInstance();

如果报错`/usr/local/bin/python: can't decompress data; zlib not available`,说明安装python2.7时没有注意zlib的问题,请按照第一步重新编译安装python

显示

成功配置

  1. 配置节点node02

node01的配置文件拷贝到node02,删除掉第5步生成的后面两行

group_replication_start_on_boot = OFF

group_replication = ON

修改下面3

server_id=2

report-host=node02

loose-group_replication_local_address= "ip:24901"

登录mysqlsh,并执行配置

shell.connect('root@localhost:3306');

dba.configureLocalInstance();

停止mysql,my.cnf末尾添加下面一行后启动mysql

group_replication_allow_local_disjoint_gtids_join=ON

  1. 配置节点node03

通配置node02一样,注意修改为与该节点对应的内容

  1. 添加节点node01

连接node01

shell.connect('root@node01:3306');

创建cluster

var cluster = dba.createCluster('myCluster');

  1. 添加节点node02

node01shell中运行:

# 如果之前退出了shell,运行下面一行获取到cluster

var cluster = dba.getCluster('myCluster');

cluster.addInstance(‘root@node02:3306’);

  1. 添加节点node03

同添加node02一样

  1. 查看cluster状态

cluster.status();

  1. 启动mysql-router

# 下面一行的myrouter是生成启动文件、配置文件的文件夹

mysqlrouter --bootstrap root@node01:3306 -d myrouter

# 这会生成一个文件夹 myrouter, 进入文件夹

# 可以修改配置文件mysqlrouter.conf

使用start.sh stop.sh进行启停

#bootstrap更多参数请参看https://dev.mysql.com/doc/mysql-router/2.1/en/mysqlrouter.html#mysql-router-command-options-bootstrap

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值