还可以参考:https://www.cnblogs.com/Halifa/archive/2016/08/23/5799566.html

一、主服务器相关配置

1、创建同步账户并指定服务器地址

[root@localhost ~]mysql -uroot -p

mysql>use mysql

mysql>grant replication slave on *.* to 'testuser'@'192.168.1.102' identified by '12345678';

mysql>flush privileges; #刷新权限

授权用户testuser只能从192.168.1.102这个地址访问主服务器192.168.1.101的数据库,并且只具有数据库备份的权限

2、修改/etc/my.cnf配置文件vi /etc/my.cnf

[mysqld]下添加以下参数,若文件中已经存在,则不用添加

server-id=1

log-bin=mysql-bin  #启动MySQL二进制日志系统,

binlog-do-db=ourneeddb  #需要同步的数据库

binlog-ignore-db=mysql  #不同步mysql系统数据库,若还有其它不想同步的,继续添加

[root@localhost ~]/etc/init.d/mysqld restart #重启服务

3、查看主服务器master状态(注意File与Position项,从服务器需要这两项参数)

mysql> show master status;

+------------------+----------+--------------+------------------+

| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000012 |      120 | ourneeddb| mysql            |

+------------------+----------+--------------+------------------+

4、导出数据库

导出数据库之前先锁定数据库

flush tables with read lock;    #数据库只读锁定命令,防止导出数据库的时候有数据写入

unlock tables; #解除锁定

导出数据库结构及数据:mysqldump -uroot -p ourneeddb > /home/ourneeddb.sql

导出存储过程及函数 :mysqldump -uroot -p -ntd -R ourneeddb > ourneeddb_func.sql

tips:-ntd导出存储过程、-R导出函数

二、从服务器相关配置

1、修改/etc/my.cnf配置文件vi /etc/my.cnf

[mysqld]下添加以下参数,若文件中已经存在,则不用添加

server-id=2  #设置从服务器id,必须于主服务器不同

log-bin=mysql-bin  #启动MySQ二进制日志系统

replicate-do-db=ourneeddb  #需要同步的数据库名

replicate-ignore-db=mysql  #不同步mysql系统数据库

[root@localhost~ ]/etc/init.d/mysqld restart #重启服务

2、导入数据库

导入过程这里不做阐述

3、配置主从同步

[root@localhost~ ]mysql -uroot -p

mysql>use mysql

mysql>stop slave;

mysql>change master to

master_host='192.168.1.101',

master_user='testuser',

master_password='12345678',

master_log_file='mysql-bin.000012',

master_log_pos=120;  #log_file与log_pos是主服务器master状态下的File与Position

mysql>start slave;

mysql>show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.101

Master_User: testuser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000012

Read_Master_Log_Pos: 120

Relay_Log_File: orange-2-relay-bin.000003

Relay_Log_Pos: 283

Relay_Master_Log_File: mysql-bin.000012

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: orange

Replicate_Ignore_DB: mysql,test,information_schema,performance_schema

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 120

Relay_Log_Space: 1320

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

Master_UUID: 773d2987-6821-11e6-b9e0-00163f0004f9

Master_Info_File: /home/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

注意查看Slave_IO_Running: Yes  Slave_SQL_Running: Yes 这两项必须为Yes 以及Log_File、Log_Pos要于master状态下的File,Position相同

如果都是正确的,则说明配置成功!

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

常见错误原因:

https://www.linuxidc.com/Linux/2012-03/57708.htm

https://blog.csdn.net/jasontech/article/details/39435873

1从服务器配置下列两项,一定要跟主服务器一致

master_log_file='mysql-bin.000012',

master_log_pos=120;  #log_file与log_pos是主服务器master状态下的File与Position

2  报错 Slave_IO_Running: NO

(1)

这个错误就是IO 进程没连接上  ,想办法连接上把 把与主的POS 号和文件一定要对,然后重新加载下数据。具体步骤:

stop   slave ;

change master to master_host='IP地址',master_user='club',master_password='mima ',master_log_file='mysqld-bin.000048',MASTER_LOG_POS=396549485;

注:master_log_file='mysqld-bin.000048',MASTER_LOG_POS=396549485;是从主的上面查出 来的 :show master status\G;

LOAD DATA FROM MASTER;

load data from master;

start   slave ;

(2)查看主数据库错误日志 查找原因

[ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

我是在虚拟机下 两台机子克隆复制  所以两台机子中配置文件中uuid一致  随机修改一下 就解决了

错误原因:由于主机和备机的UUID一致

解决方法:修改UUID保证主备机不一致  到安装目录data下的auto.cnf  修改uuid即可(cd   /usr/local/mysql/data)

linux mysql主从配置_linux下mysql主从配置相关推荐

  1. linux下mysql目录结构_linux下mysql安装配置与目录结构

    本节内容: linux下mysql安装与配置.mysql目录结构. 1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rp ...

  2. linux下mysql设置关联_Linux下mysql安装与配置

    1.安装 epel 源 [root@qfedu.com~]#yum-yinstallepel-release.noarch 2.安装 MySQL Repository [root@qfedu..com ...

  3. linux mysql 目录结构图_linux下mysql安装、目录结构、配置

    1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm 客户端:MySQL-client-community-5.1.4 ...

  4. linux下mysql目录结构_linux下mysql安装、目录结构、配置

    1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm 客户端:MySQL-client-community-5.1.4 ...

  5. linux mysql 集群安装配置_linux下mysql集群的安装

    3台redhat服务器: SQL节点(mysqld): 192.168.1.77;192.168.1.78 数据节点(ndbd): 192.168.1.77;192.168.1.78 管理节点(ndb ...

  6. linux mysql 端口号_linux下mysql 查看默认端口号与修改端口号方法

    一.查看默认端口号 1.登录mysql [root@localhost ~]# mysql -uroot -p Enter password: 输入数据库密码: 2.使用show global var ...

  7. linux上mysql卸数_Linux下MySQL卸载和安装图文教程

    Linux下MySQL卸载和安装图文教程 发布时间:2020-09-02 08:43:17 来源:脚本之家 阅读:59 作者:伊宇紫 第一次写博客,做了两年的开发,工作之余给自己找点有意义的事做,分享 ...

  8. linux下mysql的备份_Linux下MySQL的备份与还原

    Linux下MySQL的备份与还原 2.1 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [ro ...

  9. linux mysql dump命令_linux下mysql命令

    1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...

最新文章

  1. MFC单文档程序加载web网站和html文件
  2. domain gap(域间隙)是什么?==>在一个数据集上训练好的模型无法应用在另一个数据集上
  3. Pimple相关的源码
  4. 网络爬虫模拟登陆获取数据并解析实战(二)
  5. JVM性能优化之CPU负载过高
  6. java dojo_Dojo入门三种HelloWorld!
  7. 基于遗传算法的水力发电厂的优化(Matlab代码实现)
  8. TAOCP-Reading-计算机程序设计艺术阅读-1-1
  9. rar怎么用计算机打开,解答电脑rar文件怎么打开
  10. 苹果退款_退货与退款 - 购买帮助 - Apple (中国大陆)
  11. ecshop后台getshell
  12. 安卓前端和python后端_android – 在移动应用程序中结合html前端和python“后端”...
  13. 1-65535字符集
  14. Eigenvalue of random matrix
  15. Unity如何调用摄像头并显示在窗口内
  16. Android实现一个可以移动,删除,保存,自定义样式的便签app
  17. IPFS白皮书中文版
  18. redhat 7.3 ppc64le环境安装Keepalived及遇到问题
  19. 道闸系统需不需要服务器,道闸车牌识别系统车辆进出场管理方案
  20. CobaltStrike上线Linux主机(CrossC2)

热门文章

  1. 第三次学JAVA再学不好就吃翔(part81)--去除ArrayList中重复元素
  2. 《复杂》读书笔记(part7)--遗传算法
  3. python基础(part14)--异常处理
  4. SAP Commerce Cloud CMS 里的一些元素类型
  5. SAP Spartacus服务器端渲染模式下的调试方法
  6. SAP Spartacus activeBaseSite的设置逻辑
  7. 通过单步调试理解Angular里routerLink指令实际url的生成逻辑
  8. JSP导入XML不成功的一个原因
  9. 一个使用Java BlockingQueue实现的生产者和消费者
  10. 在中国使用pip更新或安装库的配置