博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql主主配置
阅读量:5259 次
发布时间:2019-06-14

本文共 2900 字,大约阅读时间需要 9 分钟。

环境描述:

OS:RH6.5
master机:192.168.4.77
backup机:192.168.4.78

一、 配置两台Mysql主主同步(两台配置基本一样,除了/etc/my.cnf里的server-id =)

1.Master详细配置:

[root@master ~]# yum install mysql-* mysql -y

[root@master ~]# service mysqld start
[root@master ~]# mysqladmin -u root password mysql2012
[root@master ~]# vim /etc/my.cnf  #开启二进制日志,设置id

server-id = 1                    #backup这台设置2 这个选项有的注意1和2

log-bin = mysql-bin           #这个选项有的
binlog-ignore-db = mysql,information_schema      #忽略写入binlog日志的库
auto-increment-increment = 2            #字段变化增量值
auto-increment-offset = 1              #初始字段ID为1
slave-skip-errors = all                      #忽略所有复制产生的错误

[root@master ~]# service mysqld restart

chkconfig mysqld on       #设置开机自动启动  两台机都要设置

[root@master ~]#mysql –uroot –pmysql2012   以root用户进入数据库

Mysql>show master status;      会看到以下图,记住框出来的部分

mysql-bin.000002   106 这些不固定,现在要去到backup那台机上,因为master这台机下面的操作要用到对面的上面那图框出来的部分,当然backup那台机也会用到master机的这个图的log bin日志pos值位置 (mysql-bin.000002   106),总之都用这个指向对方

Mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'mysql2012' WITH GRANT OPTION;      #赋予所有网段远程登录权限

Mysql>flush privileges;       #刷新权限

2.backup详细配置:

[root@backup ~]# yum install mysql-* mysql -y

[root@backup ~]# service mysqld start
[root@backup ~]# mysqladmin -u root password mysql2012
[root@backup ~]# vi /etc/my.cnf  #开启二进制日志,设置id

[mysqld]

server-id = 2                   #master这台设置1
log-bin = mysql-bin
binlog-ignore-db = mysql,information_schema      #忽略写入binlog日志的库
auto-increment-increment = 2            #字段变化增量值
auto-increment-offset = 1              #初始字段ID为1
slave-skip-errors = all                      #忽略所有复制产生的错误

[root@backup ~]#service mysqld restart       #一定要重启不然show不到log bin日志pos值位置

[root@backup ~]#mysql –uroot –pmysql2012

Mysql>show master status;  #获取log bin日志pos值位置,master这台机要根据这个来指向backup来获取信息

获取的结果是

Mysql-bin.000003   106

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'mysql2012' WITH GRANT OPTION;

mysql> flush  privileges; #刷新权限

mysql> change  master to

->  master_host='192.168.4.77',   #master的ip
->  master_user='root',
->  master_password='mysql2012',
  ->  master_log_file='mysql-bin.000002', #对端(master)状态显示的值
  ->  master_log_pos=106; #对端(master)状态显示的值
mysql> start  slave;

3.master详细配置继续:

mysql> change  master to

    ->  master_host='192.168.4.78',  #backup 的IP地址
    ->  master_user='root',
    ->  master_password='mysql2012',
    ->  master_log_file='mysql-bin.000003', #对端(backup)状态显示的值

->  master_log_pos=106;  #对端(backup)状态显示的值

mysql> start  slave;        #启动同步

mysql> exit

最后:在master backup两台机分别看状态

Mysql>show slave status\G          #两台机都执行去看

#主主同步配置完毕,查看同步状态Slave_IO和Slave_SQL是YES说明主主同步成功

测试:

在master(192.168.4.77)创建个 data_linkapp 数据库

   myysql>create database data_linkapp;

去到backup(192.168.4.78)这台机看,master新建的data_linkapp 数据库会同步到backup(192.168.4.78)这台机

再测:

在master这台机的test数据库创建个表:

Mysql> create table user (number INT(10),name VARCHAR(255));

Mysql> insert into user values(01,'zhangsan');

mysql>show tables;

mysql>select number,name from user;

最后在backup这台看同步过来没有:

mysql>show tables;

mysql>select number,name from user;

 

当然后面是要配合着keepalived使用的,VIP

转载于:https://www.cnblogs.com/pengrj/p/8689909.html

你可能感兴趣的文章
nginx修改内核参数
查看>>
C 筛选法找素数
查看>>
TCP为什么需要3次握手与4次挥手(转载)
查看>>
IOC容器
查看>>
Windows 2003全面优化
查看>>
URAL 1002 Phone Numbers(KMP+最短路orDP)
查看>>
web_day4_css_宽度
查看>>
electron入门心得
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>
Kafka学习笔记
查看>>
Octotree Chrome安装与使用方法
查看>>
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>