下载mysql源码:

https://dev.mysql.com/downloads/mysql/安装依赖:

yum -y install cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel创建文件夹:

mkdir mysql_1mkdir mysql_2解压:

tar -xzf mysql-boost-5.7.24.tar.gz -C mysql_1tar -xzf mysql-boost-5.7.24.tar.gz -C mysql_2创建用户:

useradd mysql_1 -s /sbin/nologin -Museradd mysql_2 -s /sbin/nologin -M创建文件夹:

mkdir -p /data/mysql/mysql_1/datamkdir -p /data/mysql/mysql_2/data编译安装:

cd mysql_1/mysql-5.7.24cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/mysql_1 \-DMYSQL_DATADIR=/data/mysql/mysql_1/data \-DSYSCONFDIR=/etc \-DMYSQL_TCP_PORT=3307 \-DWITH_BOOST=./boostmake && make install

cd mysql_2/mysql-5.7.24cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/mysql_2 \-DMYSQL_DATADIR=/data/mysql/mysql_2/data \-DSYSCONFDIR=/etc \-DMYSQL_TCP_PORT=3308 \-DWITH_BOOST=./boostmake && make install改变所属主:

chown -R mysql_1.mysql_1 /data/mysql/mysql_1chown -R mysql_2.mysql_2 /data/mysql/mysql_2创建配置文件:
vim /etc/mysql_1.cnf

[mysqld]user=mysql_1server-id=1port=3307basedir=/data/mysql/mysql_1datadir=/data/mysql/mysql_1/datasocket=/tmp/mysql_1.sockngram_token_size=2log-bin=mysql_1slave-skip-errors=all

vim /etc/mysql_2.cnf

[mysqld]user=mysql_2server-id=2port=3308basedir=/data/mysql/mysql_2datadir=/data/mysql/mysql_2/datasocket=/tmp/mysql_2.sockngram_token_size=2log-bin=mysql_2slave-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.sockgrant 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.sockgrant 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 tomaster_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 tomaster_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格式化工具时间缀-时间转换工具