如果主从配置之前安装了云平台,请停止云平台后在进行mysql主从配置。

1、 登录master数据库,检查数据库端口防火墙设置,允许远程客户连接,如果没有,执行以下操作。

执行命令:iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

/etc/init.d/iptables save

注:参照具体操作系统进行配置

2、 编辑master数据库上的/etc/my.cnf,并将以下语句添加至[mysql]小节datadir语句下的区域

log_bin=mysql-bin

server_id=1

3、 重起master数据库mysql

#service mysqld restart

4、 在master数据库上创建一个replication账户并给予权限。我们将使用“cloud-repl”用户,密码“password”。这里假定master数据库和slave数据库运行在10.117.66.0/25网络。

mysql>create user 'cloud-repl'@'10.117.26.%' identified by 'password';(此处写实际主数据库ip)

5、 mysql> grant replication slave on *.* to 'cloud-repl'@'10.117.66.%' identified by 'password'; (此处从服务器ip)

mysql> flush privileges;

mysql> flush tables with read lock;

6、 保持当前shell下MySQL 会话的运行

7、 在新的shell启动第二个MySQL 会话

8、 获取数据库的当前position

mysql>show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |      412 |              |                  |

+------------------+----------+--------------+------------------+

9、 记下实例返回的File和position。

10、 压缩master数据库的数据文件

#tar zcf /tmpdatabak.tgz /var/lib/mysql

11、 登录slave数据库所在的服务器,安装mysql,版本要求跟master数据库一致。

注:安装mysql,需要按照elaster的方式安装

12、 停止slave数据库

#service mysqld stop

13、 拷贝master数据库的tmpdatabak.tgz到slave数据库的根目录/,在主数据库操作复制命名如下:

scp /tmpdatabak.tgz root@10.110.122.202:/

解压到目录/var/lib/mysql

#cd /

#tar -zxvf tmpdatabak.tgz

14、 检查slave数据库端口防火墙设置,允许远程客户连接,如果没有,执行以下操作。

# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

# /etc/init.d/iptables save

注:参照具体操作系统进行配置

15、 编辑slave数据库上的my.cnf,并添加如下语句于[mysql]小节的datadir语句下

server_id=2

16、 重启slave数据库MySQL

# /etc/init.d/mysqld start

17、 指示slave数据库连接master数据库并进行复制。

使用之前步骤里已经使用的值替换IP地址、密码、log file和position。在slave执行如下操作

mysql>change master to master_host='10.117.66.137',

master_user='cloud-repl',

master_password='password',

master_log_file='mysql-bin.000001',

master_log_pos=412;

18、 启动slave数据库上的replication

mysql> start slave;

19、 登录到master数据库释放master数据库库的lock(可以等slave数据库准备完成再解锁)

mysql> unlock tables;

20、 测试master数据库和slave数据库配置是否正常工作,检查一下操作后,看master数据库和slave数据库是否一致:

增加表、删除表

增加记录、删除记录、修改记录

master数据库重起后,工作是否正常

slave数据库重起后,工作是否正常

命令查看同步状态

mysql>show slave status;

mysql>show slave status \G;

如果第一遍失败,第二遍操作注意事项

1、在slave节点执行

mysql> show slave status;

mysql> stop slave;

2、删除从数据库默认安装目录 /var/lib/mysql 下所有文件,以免主数据库文件覆盖时与第一次未成功的文件合并

3、确保具有replication slave权限的用户可以从slave节点访问master节点 例如master ip为10.117.66.137 slave ip为10.117.66.138则,在slave节点执行以下命令测试:

mysql -h10.117.66.137 -ucloud-repl -ppassword

MySQL主从同步配置的更多相关文章

  1. mysql主从同步配置(windows环境)

    mysql主从同步配置(mysql5.5,windows环境)   A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...

  2. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

  3. centos:mysql主从同步配置(2018)

    centos:mysql主从同步配置(2018) https://blog.csdn.net/liubo_2016/article/details/82379115 主服务器:10.1.1.144; ...

  4. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  5. Mysql主从同步配置方案(Centos7)

    最近在做项目高可用时,需要使用数据同步.由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步). 可能没有接触过Mysql数据同步时,可 ...

  6. mysql 主从同步配置

    1  环境 mac air 主机做 主库,使用的是XAMPP自带的mysql 版本为 5.6.21, for osx10.6 (x86_64) 虚拟机mysql 做从库  版本为 5.5.38, fo ...

  7. python中mysql主从同步配置的方法

    1)安装mysql ubuntu中安装一台mysql了,docker安装另外一台mysql 获取mysql的镜像,主从同步尽量保证多台mysql的版本相同,我的ubuntu中存在的mysql是5.7. ...

  8. Linux mysql主从同步配置

    一.在两台Ubuntu机器上安装mysql1.检查系统中是否安装了mysql 这个是已经安装了的 没有安装的话执行上条命令===============================MySQL的一些 ...

  9. MySQL主从同步配置(详细图解)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶叙述 二丶备份主服务器原有数据到从服务器 三丶配置主服务器master(192.168.4.63) 四丶配置从服务器sl ...

随机推荐

  1. Command: sl (Steam Locomotive)

    You might be aware of command 'ls' the list command and use it frequently to view the contents of a ...

  2. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  3. 4.添加对efcore的支持 ,并使用mysql数据库。

    1.添加并加入 在project.json中添加 "tools": { "Microsoft.EntityFrameworkCore.Tools": " ...

  4. 理解 JavaScript 作用域和作用域链

    http://www.cnblogs.com/lhb25/archive/2011/09/06/javascript-scope-chain.html

  5. Solr搭建大数据查询平台

    参考文章:http://www.freebuf.com/articles/database/100423.html 对上面链接的补充: solr-5.5.0版本已被删除,新url:http://mir ...

  6. Query Designer:Variable 变量

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. socket了解(转)

    http://blog.chinaunix.net/uid-26000296-id-3758651.html http://blog.csdn.net/mengyafei43/article/deta ...

  8. weex 小结--内建模块

    使用以下模块时,需要导入依赖:var *** = require('@weex-module/****'); 1. navigator --像浏览器一样切换页面 2. webview(module) ...

  9. a.redhat系统如何卸载默认jdk

    Redhat系统安装之后,会默认有openjdk在安装(下图已经是卸载掉了) 这个openjdk下面的需要进行卸载,你可以通过命令进行卸载,例如首先查看JDK,然后默认直接通过rpm命令进行卸载L 卸 ...

  10. RDLC隔行变色的实现

    在RDLC设计页面设置行属性中的Background为: =IIF((RowNumber(Nothing)) Mod 2 =1,"Transparent","#F6FAF ...