linux mysql主从配置_linux下mysql主从配置
还可以参考: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主从配置相关推荐
- linux下mysql目录结构_linux下mysql安装配置与目录结构
本节内容: linux下mysql安装与配置.mysql目录结构. 1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rp ...
- linux下mysql设置关联_Linux下mysql安装与配置
1.安装 epel 源 [root@qfedu.com~]#yum-yinstallepel-release.noarch 2.安装 MySQL Repository [root@qfedu..com ...
- linux mysql 目录结构图_linux下mysql安装、目录结构、配置
1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm 客户端:MySQL-client-community-5.1.4 ...
- linux下mysql目录结构_linux下mysql安装、目录结构、配置
1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm 客户端:MySQL-client-community-5.1.4 ...
- 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 ...
- linux mysql 端口号_linux下mysql 查看默认端口号与修改端口号方法
一.查看默认端口号 1.登录mysql [root@localhost ~]# mysql -uroot -p Enter password: 输入数据库密码: 2.使用show global var ...
- linux上mysql卸数_Linux下MySQL卸载和安装图文教程
Linux下MySQL卸载和安装图文教程 发布时间:2020-09-02 08:43:17 来源:脚本之家 阅读:59 作者:伊宇紫 第一次写博客,做了两年的开发,工作之余给自己找点有意义的事做,分享 ...
- linux下mysql的备份_Linux下MySQL的备份与还原
Linux下MySQL的备份与还原 2.1 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [ro ...
- linux mysql dump命令_linux下mysql命令
1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...
最新文章
- MFC单文档程序加载web网站和html文件
- domain gap(域间隙)是什么?==>在一个数据集上训练好的模型无法应用在另一个数据集上
- Pimple相关的源码
- 网络爬虫模拟登陆获取数据并解析实战(二)
- JVM性能优化之CPU负载过高
- java dojo_Dojo入门三种HelloWorld!
- 基于遗传算法的水力发电厂的优化(Matlab代码实现)
- TAOCP-Reading-计算机程序设计艺术阅读-1-1
- rar怎么用计算机打开,解答电脑rar文件怎么打开
- 苹果退款_退货与退款 - 购买帮助 - Apple (中国大陆)
- ecshop后台getshell
- 安卓前端和python后端_android – 在移动应用程序中结合html前端和python“后端”...
- 1-65535字符集
- Eigenvalue of random matrix
- Unity如何调用摄像头并显示在窗口内
- Android实现一个可以移动,删除,保存,自定义样式的便签app
- IPFS白皮书中文版
- redhat 7.3 ppc64le环境安装Keepalived及遇到问题
- 道闸系统需不需要服务器,道闸车牌识别系统车辆进出场管理方案
- CobaltStrike上线Linux主机(CrossC2)
热门文章
- 第三次学JAVA再学不好就吃翔(part81)--去除ArrayList中重复元素
- 《复杂》读书笔记(part7)--遗传算法
- python基础(part14)--异常处理
- SAP Commerce Cloud CMS 里的一些元素类型
- SAP Spartacus服务器端渲染模式下的调试方法
- SAP Spartacus activeBaseSite的设置逻辑
- 通过单步调试理解Angular里routerLink指令实际url的生成逻辑
- JSP导入XML不成功的一个原因
- 一个使用Java BlockingQueue实现的生产者和消费者
- 在中国使用pip更新或安装库的配置