centos7部署mysql双主服务器
- 下载MySQL源码:
https://dev.mysql.com/downloads/mysql/
- 安装依赖:
yum -y install cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
- 创建文件夹:
mkdir mysql_1 mkdir mysql_2
- 解压:
tar -xzf mysql-boost-5.7.24.tar.gz -C mysql_1 tar -xzf mysql-boost-5.7.24.tar.gz -C mysql_2
- 创建用户:
useradd mysql_1 -s /sbin/nologin -M useradd mysql_2 -s /sbin/nologin -M
- 创建文件夹:
mkdir -p /data/mysql/mysql_1/data mkdir -p /data/mysql/mysql_2/data
- 编译安装:
cd mysql_1/mysql-5.7.24 cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/mysql_1 \ -DMYSQL_DATADIR=/data/mysql/mysql_1/data \ -DSYSCONFDIR=/etc \ -DMYSQL_TCP_PORT=3307 \ -DWITH_BOOST=./boost make && make install
cd mysql_2/mysql-5.7.24 cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/mysql_2 \ -DMYSQL_DATADIR=/data/mysql/mysql_2/data \ -DSYSCONFDIR=/etc \ -DMYSQL_TCP_PORT=3308 \ -DWITH_BOOST=./boost make && make install
- 改变所属主:
chown -R mysql_1.mysql_1 /data/mysql/mysql_1 chown -R mysql_2.mysql_2 /data/mysql/mysql_2
- 创建配置文件:
vim /etc/mysql_1.cnf[mysqld] user=mysql_1 server-id=1 port=3307 basedir=/data/mysql/mysql_1 datadir=/data/mysql/mysql_1/data socket=/tmp/mysql_1.sock ngram_token_size=2 log-bin=mysql_1 slave-skip-errors=all
vim /etc/mysql_2.cnf
专注于为中小企业提供网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业卫滨免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
[mysqld] user=mysql_2 server-id=2 port=3308 basedir=/data/mysql/mysql_2 datadir=/data/mysql/mysql_2/data socket=/tmp/mysql_2.sock ngram_token_size=2 log-bin=mysql_2 slave-skip-errors=all
- 初始化:
/data/mysql/mysql_1/bin/mysqld --initialize-insecure --user=mysql_1 --datadir=/data/mysql/mysql_1/data /data/mysql/mysql_1/bin/mysql_ssl_rsa_setup --defaults-file=/etc/mysql_1.cnf /data/mysql/mysql_2/bin/mysqld --initialize-insecure --user=mysql_2 --datadir=/data/mysql/mysql_2/data /data/mysql/mysql_2/bin/mysql_ssl_rsa_setup --defaults-file=/etc/mysql_2.cnf
- 启动:
/data/mysql/mysql_1/bin/mysqld_safe --defaults-file=/etc/mysql_1.cnf & /data/mysql/mysql_2/bin/mysqld_safe --defaults-file=/etc/mysql_2.cnf &
- 创建远程用户:
/data/mysql/mysql_1/bin/mysql -S /tmp/mysql_1.sock grant all on *.* to 'root'@'%' identified by '123456'; update mysql.user set Grant_priv='Y' where Host='%'; delete from mysql.user where Host<>'%' or User<>'root'; quit;
/data/mysql/mysql_2/bin/mysql -S /tmp/mysql_2.sock grant all on *.* to 'root'@'%' identified by '123456'; update mysql.user set Grant_priv='Y' where Host='%'; delete from mysql.user where Host<>'%' or User<>'root'; quit;
- 显示主服务器状态:
show master status;
- 切换到主服务器:
change master to master_host='172.20.10.12', master_port=3308, master_user='root', master_password='123456', master_log_file='mysql_2.000003', master_log_pos=154;
change master to master_host='172.20.10.12', master_port=3307, master_user='root', master_password='123456', master_log_file='mysql_1.000004', master_log_pos=154;
- 开启从服务器:
start slave;
- 显示从服务器状态:
show slave status\G
- 关闭:
pkill mysql
广告
给大家推荐几个好用的工具
- 时间校验工具
- ip查询工具
- 二维码生成工具
- json格式化工具
- 时间缀-时间转换工具
本文标题:centos7部署mysql双主服务器
文章地址:http://hbruida.cn/article/gdiihp.html