设为首页 收藏本站
查看: 1560|回复: 0

[经验分享] MySQL-5.5.33主从复制

[复制链接]

尚未签到

发表于 2018-10-11 06:37:19 | 显示全部楼层 |阅读模式
  搭建主从同步需要在两个电脑上分别安装 MySQL ,我这里安装的是 CentOS6.7 64位,MySQL-5.5.33。
  MySQL 是二进制包安装的:http://aby028.blog.51cto.com/5371905/1892818
  两台的操作是一样的,要求能够登陆 mysql 数据库即可。
  主从地址如下:
  master:192.168.133.128
  slave:192.168.133.132
  ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -d: -f2
DSC0000.png

DSC0001.png

  环境介绍:
  cat  /etc/redhat-release
  uname -a
DSC0002.png

  配置主库的 my.cnf 文件,为了方便操作过滤掉开头是 #,$  的行
  cat /etc/my.cnf | grep -v ^# | grep -v ^$ > tmp.log
  cat tmp.log > /etc/my.cnf
DSC0003.png

  编辑 /etc/my.cnf 文件
  server-id       = 1
  log-bin=mysql-bin
  #max_binlog_size=500M
  #binlog-do-db=test
  #binlog-ignore-db=test1
  skip-name-resolve
  lower_case_table_names=1
DSC0004.png

  以上参数介绍:
  server-id       = 1  #表示服务器ID,可以自定义,在主从中是唯一的且必须为数字
  log-bin=mysql-bin      #表示启用mysql二进制日志,必须要启动,否则主从不会生效
  #max_binlog_size=500M   #表示每个binlog文件最大500M,但一条记录不会写在两个日志中,所以日志有时会超500M
  #binlog-do-db=test    #表示要同步的数据库名字,如果是多个数据库,在多加一行就可以
  #binlog-ignore-db=test1   #表示不需要同步的数据库名字,如果是多个数据库,在多加一行就可以
  skip-name-resolve      #忽略主机名的方式访问
  lower_case_table_names=1     #忽略数据库表名大小写
  如果将 binlog-do-db=test ,binlog-ignore-db=test1   不写或是注释则表示为同步所有数据库,我这里就是同步所有数据库
  修改过 my.cnf 文件后需要重启 mysql 服务
  /etc/init.d/mysqld restart
DSC0005.png

  登陆主库,并创建一个账号并授权,专门用于主从同步
  创建账号之后别忘记刷新权限

  grant replication slave on *.* to yuci@'%'>  flush privileges;
DSC0006.png

  检查自己刚才的操作
  select user,host from mysql.user;
  show grants for yuci@'%';
DSC0007.png

  进行锁表,锁表后将只能读取不能创建或插入任何信息
  flush table with read lock;
DSC0008.png

  查看 binlog 的文件名以及 pos 位置节点
  show master status;
DSC0009.png

  在从库上用刚才创建的用户登陆主库,测试两台数据库是否连接通常
  mysql -uyuci -p123456 -h192.168.133.128
DSC00010.png

  新开一个远程界面,连接主库并将导出数据库。(保证之前的 mysql 登陆界面不要退出)
  在将新导出的 test.sql 文件通过 scp 传给从库
  mysqldump -uroot -p123456 --events -A -B > /root/test.sql
  scp test.sql root@192.168.133.132:/root
  yes
DSC00011.png

  回到主库,解锁
  unlock tables;
DSC00012.png

  在从库上将刚才的 test.sql 文件导入到数据库
  mysql -uroot -p123456 < /root/test.sql
DSC00013.png

  编辑从库上 my.cnf 文件,将 server-id 修改为 2
  vim /etc/my.cnf
  server-id       = 2
DSC00014.png

  修改了 my.cnf 文件,需要重启 mysql
  /etc/init.d/mysqld restart
DSC00015.png

  登陆 mysql 配置从库的同步参数
  CHANGE MASTER TO
  MASTER_HOST='192.168.133.128',
  MASTER_PORT=3306,
  MASTER_USER='yuci',
  MASTER_PASSWORD='123456',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=107;
DSC00016.png

  以上参数配置
  CHANGE MASTER TO
  MASTER_HOST='192.168.133.128',            #表示主库的IP
  MASTER_PORT=3306,          #表示主库的端口
  MASTER_USER='yuci',        #表示主库上允许同步的用户
  MASTER_PASSWORD='123456',      #表示同步用户的密码
  MASTER_LOG_FILE='mysql-bin.000001',         #表示从哪个binlog文件开始同步
  MASTER_LOG_POS=107;       #表示从binglong文件的哪个pos节点位置开始同步
  在从库上执行 start slave 操作,IO连接
  start slave;
DSC00017.png

  查看当前的状态,关键有以下几个内容
  show slave status\G;
DSC00018.png

  关键查看以下参数
  Slave_IO_State: Waiting for master to send event
  Slave_IO_Running: Yes           #主从之间的网络
  Slave_SQL_Running: Yes        #主从之间的数据
  Seconds_Behind_Master: 0     #从库落后主库的秒数
  在主库中创建一个数据库,测试主从是否同步
  create database haha;
DSC00019.png

  在主库中查看
  show databases;
DSC00020.png

  在从库中查看,主从同步成功
  show databases;
DSC00021.png

  zhao


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-620080-1-1.html 上篇帖子: 玩转mysql主从和主主 下篇帖子: Mysql中文不显示
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表