如果主从配置之前安装了云平台,请停止云平台后在进行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. 新项目CRM(1)

    <title>CRM登陆</title> <script type="text/javascript"> if (window.parent.w ...

  2. 遗传算法在JobShop中的应用研究(part4:变异)

    下面,我们以车间调度为例来谈谈遗传算法中的另一个重要操作变异.变异操作通常发生在交叉操作之后,它的操作对象是交叉得到的新染色体.在本文中我们通过随机交换染色体的两个位置上的值来得到变异后的染色体,变异 ...

  3. python 给定n,返回n以内的斐波那契数列

    方式一:函数 def fabs(n): a, b = 0, 1 while b < n: print(b, end=' ') a, b = b, a+b fabs(1000) 方式二:列表 re ...

  4. node.js + expres 的安装

    一 windows下安装 首先去官网下载msi安装包. 两篇很有参考价值的文章: http://cnodejs.org/topic/4fae80c02e8fb5bc650a8360 http://bl ...

  5. Sublime Text 3 提高工作效率的使用技巧

    Sublime Text 3对于Sublime Text 2压倒性的优势就是秒启动,启动非常非常快,所以从2012年到2016年我一直用Sublime Text 2,但是安装了3并且启动试用后,我再也 ...

  6. Macbook Pro配置PHP开发环境

    Macbook Pro配置PHP开发环境 安装环境如下: Mac OS 10.10.1 Apache 2.4.9 PHP 5.5.14 MySQL 5.6.22 Apache配置 在Mac OS 10 ...

  7. Java之工厂方法

    普通工厂模式: 第一步:定义接口,坚持面向接口编程, package dp; public interface Sender {    public void send();} 第二步:实现接口: p ...

  8. LD_LIBRARY_PATH的设定

    LD_LIBRARY_PATH的设定   变量LD_LIBRARY_PATH 是用来在Linux下设置动态链接库(*.so)的查找路径,我们一般情况下都需要在运行一个带有动态链接库的程序是运行 exp ...

  9. web api+递归树型结构

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

  10. HDOJ Problem - 1299

    题意:等式 1 / x + 1 / y = 1 / n (x, y, n ∈ N+ (1) 且 x <= y) ,给出 n,求有多少满足该式子的解.(1 <= n <= 1e9) 题 ...