一.准备

1.主从数据库版本最好一致

2.主从数据库内数据保持一致,若不一致,可将从库中所有数据删除,并将主库全部数据导入进去

主数据库:182.92.172.80

从数据库:123.57.44.85

二.操作

主数据库操作

1.开启binlog

[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id,和从不能一样

2.重启mysql,创建用于同步的用户账号

systemc restart mysql

登陆数据库

mysql -hlocalhost -uname -ppassword

创建用户并授权:用户:test密码:123456,ip修改为从的ip

CREATE USER 'test'@'123.57.44.85' IDENTIFIED BY '123456';

分配中权限

GRANT REPLICATION SLAVE ON *.* TO 'test'@'123.57.44.85';

flush privileges;

锁表,禁止写入,当前窗口不能退出,这时候开启另一个终端继续操作

flush table with read lock;

3.新窗口操作,查看master状态,记录二进制文件名(mysql-bin.000003)和位置(73):

SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73 | | |
+------------------+----------+--------------+------------------+

4.将当前数据导出

mysqldump -u root -p --all-databases > /root/alldb.sql

5.解锁查看binlog日志位置,如果没变证明锁定成功。从库将从这个binlog日志开始恢复

unlock table;

SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73 | | |
+------------------+----------+--------------+------------------+

从服务器操作

1.导入数据

mysql -uroot -p < alldb.sql

2.修改配置文件

vim /etc/my.cnf

[mysqld]
server-id=2 #设置server-id,必须唯一

3.重启mysql,配置同步

需要主服务器主机名,登陆凭据,二进制文件的名称和位置

CHANGE MASTER TO MASTER_HOST='182.92.172.80', MASTER_USER='test', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=73;

start slave;

4.查看slave状态:

show slave status\G;

*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 182.92.172.80
Master_User: rep1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000013
Read_Master_Log_Pos: 11662
Relay_Log_File: mysqld-relay-bin.000022
Relay_Log_Pos: 11765
Relay_Master_Log_File: mysql-bin.000013
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
...

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

都是yes即可

最新文章

  1. java中易错点(二)
  2. Kafka:主要参数详解(转)
  3. 《jQuery判断radio、checkbox、select 是否选中和设置选中问题以及获取选中值》总结
  4. linux下 ^M
  5. 自然语言12_Tokenizing Words and Sentences with NLTK
  6. express响应前端ajax请求
  7. C中调用Lua函数
  8. ThinkPHP 中M方法和D方法详解----转载
  9. Android ActionBar下拉选项
  10. sphinx的简单实例
  11. thinkphp 自定义标签
  12. 如何判断Linux是否适合你
  13. mysql默认用户名和密码
  14. 《Unix环境高级编程》环境搭建
  15. polay定理总结
  16. spring容器启动的加载过程(三)
  17. IDL 计算TVDI
  18. JavaScript用二分法查找数据等
  19. php键值相同的项数值相加
  20. rjs 合并压缩完 js 后 js 不压缩的问题

热门文章

  1. 从零搭建vue3.0项目架构(附带代码、步骤详解)
  2. [cf1515H]Phoenix and Bits
  3. [atAGC014E]Blue and Red Tree
  4. 分享一个工具方法:日期格式化 &amp; 日期转化,用法与java类SimpleDateFormat类似
  5. 微信小程序的优点(水一篇)
  6. shell常用集锦
  7. java番外茶余饭后闲聊
  8. [Ocean Modelling for Begineers] Ch3. Basics of Geophysical Fluid Dynamics
  9. C7的开机自启动设置
  10. mysql 中@ 和 @@的区别