如果主从配置之前安装了云平台,请停止云平台后在进行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. 。tar.gz(bz或bz2等)安装

    tar.gz(bz或bz2等) 一.安装1.打开一个SHELL,即终端2.用cd 命令进入源代码压缩包所在的目录3.根据压缩包类型解压缩文件(*代表压缩包名称)tar -zxvf ****.tar.g ...

  2. phpcms 中路径问题

    <table width="100%" border="0" cellspacing="0" cellpadding="0& ...

  3. RPM安装MySQL

    # wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-1.el6.x86_64.rpm-bundle.tar # tar x ...

  4. SQL Server优化常用SQL语句

    --所有没有主键的表 select name from sysobjects where xtype='U' and id not in ( select i.parent_obj from syso ...

  5. jquery总结06-动画事件04-自定义动画

    .animate(params,[speed],[easing],[fn]) params,[speed],[easing],[fn]Options,Number/String,String,Func ...

  6. C#位运算讲解与示例

    首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了. 如: p ...

  7. JVM 内存管理机制

    1. 内存分配图:  两栈一区一堆一计数 方法区里面 包含了运行时常量 2. 对象创建过程: new A() 首先加载A的字节码. 分配内存,内存分配方式分两种,如果采用带压缩的垃圾回收策略,则采用“ ...

  8. a标签的作用

    a标签的hover,active,target,visited等伪类在所有浏览器中是兼容的,而其他元素的这些伪类并不全兼容:   a标签本身是跳转页面的,把跳转的地址写在href这个属性中, (1)不 ...

  9. String转double或者float会有精度丢失的问题

    float [] value=new float[5]; value[0]=Float.parseFloat(rs.getString(1)); value[1]=Float.parseFloat(r ...

  10. js生成二维码

    jquery.qrcode.js 使用 1. 加载 jQuery 和 jquery.qrcode.js: <script type='text/javascript' src='http://c ...