- 下载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
[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
centos7部署mysql双主服务器
猜你喜欢
转载自blog.51cto.com/12173069/2339316
今日推荐
周排行