实战MYSQL 8.0.12 主主复制配置过程

实战MYSQL 8.0.12 主主复制配置过程

搭建环境:

Server name IP
mysql1 192.168.200.1
mysql2 192.168.200.2

服务器版本:CentOS Linux release 7.5.1804 (Core)
MYSQL版本:8.0.12 # 采用源码安装方式, 此过程略,或者参考 http://blog.51cto.com/snowlai/2140451

由于MYSQL采用的是源码安装方式,没有生成 /etc/my.cnf 文件,需要手动创建,创建内容如下:

vim /etc/my.cnf # mysql1里的内容,mysql2的内容区别是server-id = 2 就可以,其它一样;

[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
server-id = 1
log-bin=mysql-bin
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
symbolic-links=0
log-error=/usr/local/mysql/data/mysql1.err
pid-file=/usr/local/mysql/data/mysql1.pid

进入mysql1的数据库

mysql -uroot -p #输入数据库的密码
mysql> flush table with read lock;

锁住数据库的写操作后,不要退出这个终端,复制一个终端,将/usr/local/mysql/data 压缩打包,然后再scp到mysql2上。

tar zcvf data.tar.gz data
scp data.tar.gz [email protected]:/usr/local/mysql/

然后再mysql2上解压data.tar.gz, 并删除 auto.cnf文件

tar zxvf data.tar.gz
rm -rf auto.cnf

都重启mysqld服务

service mysqld restart


mysql1: MASTER ; mysql2:SLAVE

在mysql1上创建复制用户(repl_user),并授权

grant replication slave on . to ‘repl_user‘@‘mysql2‘ identified by ‘REPL_PASSWORD‘;
show master status;

并记录master的输出:File和Position的值

登录到mysql2上,设置mysql1为自己的主服务器

change master to master_host=‘mysql1‘,master_user=‘repl_user‘,master_password=‘REPL_PASSWORD‘,master_log_file=‘mysql1上File的值‘,master_log_pos=mysql1上的position值;
start slave;
show slave status \G;


mysql2: MASTER ; mysql1:SLAVE
在mysql2上创建复制用户(repl_user),并授权
grant replication slave on . to ‘repl_user‘@‘mysql1‘ identified by ‘REPL_PASSWORD‘;
show master status;

并记录master的输出:File和Position的值

登录到mysql1上,设置mysql2为自己的主服务器

change master to master_host=‘mysql2‘,master_user=‘repl_user‘,master_password=‘REPL_PASSWORD‘,master_log_file=‘mysql2上File的值‘,master_log_pos=mysql2上的position值;
start slave;
show slave status \G;



注意事项:

  1. 两个数据库的数据在初始状态必须保持一致, 这样才能保证 show master status;的时候输出的结果才一致;
  2. show slave status \G; 的时候。 Slave_IO_Running 和 Slave_SQL_Running 的结果为YES;
  3. 数据库的配置文件:/etc/my.cnf 中的server-id的值必须不一样;
  4. 两台服务器中的数据库版本必须一样;

原文地址:http://blog.51cto.com/snowlai/2298971

时间: 2024-08-29 04:16:58

实战MYSQL 8.0.12 主主复制配置过程的相关文章

Linux安装mysql.8.0.12

1. linux安装mysql8.0.12,亲测可用. 以下是安装过程中出现的问题: 1 [[email protected] file]# systemctl start mysqld 2 Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe"

centos7利用yum安装mysql 8.0.12

清理原有的mysql rpm -qa | grep mysql #可能的显示情况如下 #mysql-community-libs-8.0.12-1.el7.x86_64 #mysql80-community-release-el7-1.noarch #mysql-community-client-8.0.12-1.el7.x86_64 #mysql-community-common-8.0.12-1.el7.x86_64 #mysql-community-server-8.0.12-1.el7.

MySQL 8.0.12.0 的安装和配置

ps:本文节选自[MySQL 5.7 从入门到精通](清华大学出版社)一书. 1. 双击安装包 2.选装安装类型 打开右侧[Choosing a Setup Type](安装类型选择)窗口,在其中列出了五种安装类型 分别是: Developer Default(默认安装类型).Server only(仅作为服务器).Client only(仅作为客户端).Full(完全安装)和Custom(自定义安装类型).这里选择[Custom] 3.产品定制选择 打开右侧[Select Products a

mysql 8.0.12 SSL异常排查

WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with e

macOS 下的 MySQL 8.0.17 安装与简易配置

如果我写的这篇你看不懂,可能网上也没有你能看懂的教程了 虽然这篇针对的是8.0.x版本,但是关于MySQL配置之类的方法还是通用的 环境信息与适用范围 环境信息 环境/软件 版本 macOS macOS Mojave MySQL MySQL 8.0.17 适用范围 环境/软件 版本 macOS macOS大概都行吧 MySQL 8.0.x 第零步,清除之前的MySQL ( 除非你想装多个版本 ) 打开终端,输入以下??代码,并执行 sudo rm /usr/local/mysql sudo rm

MySQL学习笔记12半同步复制

1.1.1. 相关概念 默认情况下,MySQL使用异步复制,即master上的事务执行与slave上的复制操作不需要同步,master不需要等待slave上的复制线程将Binary Log接收完毕即可执行其它事务. 半同步复制时,master上的事务执行与slave上的复制操作需要在某个步骤上进行同步,master需要等待slave上的复制线程接收完毕Binary Log. 异步复制的工作效率比较高,但是在特定条件下,有可能造成master和slave的数据不一致.半同步复制可以降低数据不一致的

【Linux】CentOS 7.4 安装 MySQL 8.0.12 解压版

安装环境/工具 1.Linux(CentOS 7.4版) 2.mysql-8.0.12-el7-x86_64.tar.gz 安装步骤 参考:https://dev.mysql.com/doc/refman/8.0/en/installing.html 1.下载mysql解压版(mysql-8.0.12-el7-x86_64.tar.gz),下载地址http://dev.mysql.com/downloads/mysql/: 2.解压mysql安装文件 命令:tar zxvf mysql-8.0.

MySQL 8.0.12 基于Windows 安装教程

第一步:到MySQL官网下载安装包:https://dev.mysql.com/downloads/mysql/ 第二步:将下载好的安装包(mysql-8.0.12-winx64 .zip)解压到相应路径下:C:\Program Files\Java\mysql-8.0.12-winx64 第三步:在安装目录下新建一个配置文件,命名为my.ini [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\Java\

mysql 8.0.12版本 忘记密码

1.mysqld --console --skip-grant-tables --shared-memory 2.另一个控制台 mysq 3.use mysql; 4.select user,host,authentication_string from user ; 5.update user set authentication_string='' where user='root' ; 6.无密码登陆,再修改想要的密码  (不直接在上一步修改密码是因为,mysql会有有一个加密.直接设为空