配置环境:
主从配置的环境,MySQL从服务器的版本不能小于主服务器的版本,最好保持版本一致!
一. MySQL主服务器配置
1.建立用户
mysql> GRANT ALL PRIVILEGES ON *.* TO dbadmin@'192.168.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> delete from mysql.user where password="";
mysql> flush privileges;
完成后需要在Slave上做连接测试: mysql -h 192.168.1.10 -u dbadmin –p123456

2.编辑配置文件/etc/my.cnf (确保有如下行)
[mysqld]
server-id = 1
log-bin=mysql-bin
binlog-do-db=GameDB
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行
二.MySQL从服务器配置
1.编辑/etc/my.cnf
server-id=2
log-bin=mysql-bin
master-host=192.168.1.10
master-user=dbadmin
master-password=123456
master-port=3306
replicate-do-db=GameDB
# replicate-do-db=test 需要备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
三.验证是否配置正确
主从均配置完成后需要首先确认主从需要同步的库是否同步!(可以用copy库的方式使其同步)
登录从服务器输入如下命令对配置进行验证:
mysql> show slave status\G;
Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
四.其它应用
1、如果你想使用复制数据文件的方式来备份数据库,那么你只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。

2、修改配置需要注意需要删除从服务器上的/var/lib/mysql/master.info文件,重新启动后会生成新的配置,否则新的配置无法生效!

3、主服务器上的相关命令
show master status
show slave hosts
show logs
show binlog events
purge logs to ‘log_name’
purge logs before ‘date’
reset master(老版本flush master)
set sql_log_bin=

4、从服务器上的相关命令
slave start
slave stop
SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
SLAVE start IO_THREAD
SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
SLAVE start SQL_THREAD
reset slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
load data from master
show slave status(SUPER,REPLICATION CLIENT)
CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
PURGE MASTER [before 'date'] 删除master端已同步过的日志

5、产生的mysql-bin.00000x文件需要定期删除

6、同步出错时,如果被同步语句确定在从库上可以被忽略,那么做以下操作:
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
看show slave status \G;中的Seconds_Behind_Master: 0为正常

7、如果因为其他原因从不能同步,那么可以用下面语句来使从继续同步:
slave stop;
change master to master_log_file=’ mysql-bin.000001’,master_log_pos=8866;
slave start;


 
五、同一台服务器上启动多个mysql实例:
如何在同一台服务器上启动多个mysql实例?
修改 /etc/my.cnf: (添加mysqld_multi段,修改添加 mysqldx)
如下配置:

[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin
user=mysql

[mysqld1]
datadir=/db/mysql_3306
port = 3306
socket = /tmp/mysql_3306.sock
skip-locking
pid-file=/db/mysql_3306/DBServer-TJ45_3306.pid
skip-name-resolv
key_buffer = 384M
max_allowed_packet = 1M
table_cache =4096
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 32M
query_cache_limit = 1024
thread_concurrency = 8
master-host=192.168.1.10
master-user=ztgame
master-password=123456
master-port=3306
server-id = 2
replicate-do-db=GameServer
replicate-ignore-db=mysql
master-connect-retry=60

[mysqld2]
datadir=/db/mysql_3307
port = 3307
socket = /tmp/mysql_3307.sock
skip-locking
pid-file=/db/mysql_3307/DBServer-TJ45_3307.pid
skip-name-resolv
key_buffer = 384M
max_allowed_packet = 1M
table_cache =4096
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 32M
query_cache_limit = 1024
thread_concurrency = 8
master-host=192.168.1.20
master-user=ztgame
master-password=123456
master-port=3306
server-id=2
replicate-do-db=GameServer
replicate-ignore-db=mysql
master-connect-retry=60

启动:
mysqld_multi –config-file=/etc/my.cnf start|stop|report X         #X就是[mysqldX]
mysqld_multi start                                #启动所有的MYSQL服务
mysqld_multi report 1,2,3,4,5                        #查看启动状态

关闭:
mysqladmin shutdown -h192.168.1.1 -uroot -p123456 --socket=/tmp/mysql_3306.sock -P3306
mysqld_multi stop

六、主从复制排错:
mysql 主从同步归纳大概有以下三中问题:
1、主从网络中断,或主服务器重启,或从服务器重启,从会根据配置文件中的时间(默认1分钟)去自动重连主服务器,直到网络和服务均可正常连接,连接正常后可自动继续同步之前文件,不需要任何人工干预!
2、当主从因为人为原因出现不同步的时候,可以用下面命令进行同步:
LOAD DATA FROM MASTER;
LOAD TABLE TBLNAME FROM MASTER;
注意,上面命令会对主数据库进行锁操作,如果数据库极大,建议在停机的时候进行,或者用短锁备份查看 show master status; 后,拷贝数据库的方式进行。
3、当 BIN-LOG 里面出现 SQL 级别错误导致主从不能同步的时候,可以用下面方法掠过该错误语句行,继续同步:
slave stop;
set global sql_slave_skip_counter=1;
slave start;
更多关于mysql复制的信息请参考:

一、mysql手册:http://dev.mysql.com/doc/refman/5.1/zh/replication.html

二、mysql中文网:http://imysql.cn/taxonomy/term/23

三、mysql中文实验室:http://www.mysqlab.net/blog/

转载于:https://blog.51cto.com/xukaishi/731213

mysql主从简明配置相关推荐

  1. mysql主从库配置方法

    2019独角兽企业重金招聘Python工程师标准>>> 一.mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务 ...

  2. mysql 主从同步配置

    mysql 主从同步配置 转载于:https://www.cnblogs.com/liran123/p/10202534.html

  3. MySQL主从数据库配置和常见问题

    转载自   MySQL主从数据库配置和常见问题 本篇主要介绍MySQL的主从数据配置方法. 公司运维能力不是太好,数据库最近出了一次问题,导致丢失了一天的数据,并且某个服务宕机一晚上.为了避免再次出现 ...

  4. centos mysql 同步时间_centos:mysql主从同步配置(2018)

    centos:mysql主从同步配置(2018) 主服务器:10.1.1.144; 从服务器:10.1.1.163; 配置过程 1.进入主服务器,停止主服务mysql服务: systemctl sto ...

  5. CentOS下MySQL主从同步配置

    (转自)http://apps.hi.baidu.com/share/detail/5882847centos下MySQL主从同步配置 一.环境 主机: master操作系统:centos 5.3 I ...

  6. MySQL主从同步配置及存量数据同步方案

    实践准备: 准备两台服务器: 主:192.168.8.10 备:192.168.8.11 MySQL的版本最好保持一致. 步骤一: 授权给从服务器 创建一个专门的同步账号: GRANT REPLICA ...

  7. mysql主从库配置ps:mysql5.6

    1 Mysql cluster版本主从服务器搭建实践 主从的作用:MySQL的主从服务器可以满足同步数据库,同步表,同步表内容,也可以指定仅同步某个数据库或某个表,还可以排除不同步某个数据库某个表. ...

  8. MySQL 主从架构配置详解

    原文http://www.codeceo.com/article/mysql-master-slave.html 无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为 ...

  9. mysql主从同步配置超详细_MySQL主从同步配置

    一. 理论部分 MySQL主从同步 主从同步使得数据可以从一个数据库服务器复制到其他的服务器上.在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave). 因为复制 ...

最新文章

  1. 伍迷创意随想集 之 网游与旅游结合新玩法
  2. 思科交换机和路由器的远程配置
  3. GitBook关联GitHub
  4. 如何在html中自动生成条形图,html5生成柱状图(条形图)效果的实例代码
  5. (chap6 Http首部) 请求首部字段 Max-ForwardsProxy-Authorization Range
  6. 视频中的目标检测与跟踪综述
  7. Java基础IO流(五)RandomAccessFile
  8. 来了,2020年湖南省电赛获奖名单!有你学校吗?
  9. Android实现自定义相册,在Android Gallery App中创建自定义相册
  10. linux中有关于dhcp的选择题,未指定试题(2014-11-18):DHCP协议的功能是(1)。在Linux中提供DHCP服务的...
  11. python建筑工程中的应用_Python最佳工程实践,建立一个完美的工程项目
  12. 利用全加器实现7段数码管_单片机入门,8个led数码管精选电路方案合辑
  13. 一文读懂:制造业头部企业如何构建经营分析数字化体系
  14. 【转】我的算法学习之路
  15. 用stream流将list集合根据某个字段分组成Map<String,List<T>>类型的集合
  16. 百度网盘离线下载分析及实现
  17. 关于人每天所需热量:2017-3-13
  18. 如何使用 iif 来判断日期是否为空
  19. P3386 【模板】二分图匹配(匈牙利模板)
  20. 自动编码器检测检测信用卡欺诈

热门文章

  1. 发现孩子做作业用计算机,儿童不宜长期使用计算器做作业
  2. Armadillo的安装
  3. pytorch保留比较高的epoch的权重
  4. DenseNet稠密连接层
  5. 用vector编写一个矩阵模板
  6. matlab矩阵方程奇异,matlab求解非线性方程组 牛顿迭代发 奇异矩阵
  7. Docker组队学习(一)
  8. java获取光标位置_javastscript获取光标位置
  9. pycharm不认识numpy?_深度学习(CV方向)入坑不完全指南
  10. 安装计算机主板应注意,组装计算机并仅更换主板时要注意的事项