https://www.cnblogs.com/zgx/archive/2011/09/13/2174823.html

1、准备好3台虚机,一台master,两台slave且都安装好mysql

2、主服务器上登录mysql,创建要同步的库及表

mysql> mysql -uroot -p111111; mysql> CREATE DATABASE NAME; mysql> use NAME; mysql> CREATE TABLE T_NAME(id int,name varchar(20))

3、主服务器新建用户并赋予“REPLICATION SLAVE”的权限(注:mysql8.0版本分三步执行)

mysql> create user 'mslave'@'X.X.X.X' identified by 'password' mysql> grant all privileges on *.* to 'mslave'@'X.X.X.X' with grant option; ( grant 权限列表 on 数据库 to 用户名@访问主机) mysql> flush privileges;

其中:X.X.X.X 为从服务器的ip地址 例如 192.168.50.% 表示该网段下的从服务器

*.* 为当前服务器所有库所有表

with grant option 为表示该用户可以将自己拥有的权限授权给别人

mslave 为可设置的新用户名

password 为可设置的密码

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

4、备份数据库

退出mysql执行备份

mysqldump -uroot -p111111 -B hac>hac.sql

5、远程拷贝到从服务器中

scp 要拷贝的文件 远程服务器ip:/远程目录

例子:scp hac.sql 192.168.50.131:/root

6、修改master服务器上的配置文件(/etc/my.cnf)

log-bin=mysql-bin-master //启用主服务器的二进制的名称 server-id=1 //不能重复 binlog-do-db=要同步的数据库 //同步多个就写多条 binlog-ignore-db=mysql //不同步的数据库

7、重启mysql

systemctl restart mysqld

8、从服务器-导入mysql脚本

mysql -uroot -p111111 <hac.sql

9、从服务器-测试脚本导入是否成功

mysql -uroot -p111111 -e "show databases"

10、从服务器 - 配置etc/my.cnf文件

server-id =2

11、从服务器-重启mysql

systemctl restart mysqld

12、查看master状态

mysql> show master status;

13、从服务器尝试连接主服务器(注意防火墙关闭)

mysql -umslave -p111111 -h 192.168.50.130

14、查看定义的二进制同步文件

ll /var/lib/mysql -rw-r-----. 1 mysql mysql 155 Aug 15 03:30 mysql-bin-master.000001 -rw-r-----. 1 mysql mysql 26 Aug 15 03:30 mysql-bin-master.index

mysql查看二进制文件的记录

show binlog events \G

15、从服务器-关掉

stop slave;

16、从服务器-配置主服务器

change master to master_host='192.168.50.130',master_user='mslave',master_password='1111111';

17、从服务器-启动

start slave;

18、从服务器-检查主从是否配置成功

show slave status \G

Q:配置好后未同步

A:检查是否开启同步

mysql> set sql_log_bin=on;

最新文章

  1. WebComponent魔法堂:深究Custom Element 之 面向痛点编程
  2. VS2012 生成事件
  3. zabbix监控nginx
  4. Jquery autocomplete插件的使用
  5. Adobe AIR socket complicating 导致 socket RST
  6. IIS7下.NET4.0 网站UrlRewriter.dll重写无后缀路径 失效
  7. 浏览器URL传参最大长度问题
  8. apache solr简单搭建
  9. windows+apache2.2.9+php5.4.41+mysql安装
  10. MySQL 5.7版本安装教程-踩坑总结
  11. Spark Streaming--实战篇
  12. jquery.base64.js 中文乱码处理
  13. New Life With 2018
  14. kubernetes学习14—Dashboard搭建和认证
  15. Python学习笔记【第八篇】:Python内置模块
  16. mysql导入自定义函数不成功的解决方法
  17. 解析oracle的rownum(转)
  18. C语言之栈区、堆区
  19. Java基础-线程安全问题汇总
  20. [PureScript] Break up Expressions into Cases in PureScript using Simple Pattern Matching

热门文章

  1. python之cmd模块
  2. linux下的SSHD被连接端口修改
  3. jquery点击来回切换
  4. SpringDataJPA使用
  5. asp.net core2.1认证和授权解密
  6. Spark Thrift Server
  7. 【JAVA】格式化打印printf的使用
  8. ES6——面向对象-基础
  9. 82-基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡)
  10. Java8 的一些新特性的学习理解