mysql 主从配置
2015-10-24 14:28
651 查看
注意事项
1.mysql主从配置会产生大量日志(在网上看到的).有些人主从运营了半年日志占磁盘40多G,因为mysql默认的配置expire_logs_days为0,也就是日志过期时间为0,设置一下比较好.
2.主数据库:binlog-do-db为需要备份的数据库名,多个写多行,binlog-ignore-db为不需要备份的数据库名,多个写多行.
从数据库:replicate-do-db为复制某个库的名字,replicate-ignore-db为不复制某个库的名字.
看了看网上的评论都建议在master端不指定binlog-do-db,在slave端用replication-do-db来过滤。
3.主数据库配置:
server-id = 195 #主机标示,整数
log_bin = mysql-bin #确保此文件可写
read-only=0 #主机,读写都可以
从数据库配置:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
server-id = 192
log_bin = mysql-bin
master-host =123.123.123.123//主数据库host 已作废
master-user =****//给从数据库使用的用户 已作废
master-pass =**** //给从数据库使用的密码 已作废
master-port =3306 //端口 已作废
master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db =test #只复制某个库
replicate-ignore-db=mysql #不复制某个库
replicate-ignore-table=vbb.users #不复制某张库的表
replicate-do-table #赋值某张库的表
在生产环境碰见你一个问题,接口服务器不能用过程序写入数据库,上谷歌一查 发现是BINLOG_FORMAT设置问题,默认值为statement,建议配置成mixed.
CHANGE MASTER TO master_host = '{$master_database['host']}',
master_user = 'XXX',
master_password = 'XXX',
master_log_file = '{$data['File']}',//$data['File']和$data['Position']是在主数据库运行show master status获得.
master_log_pos = {$data['Position']},//注意文件名和position和主服务器上对应。
master_connect_retry = 30
启动从数据库 slave start //顾名思义,slave stop是停止主从
从数据库运行show slave status ,如果Slave_IO_Running(表示是否能接受主数据库传递的日志进程)和Slave_SQL_Running(运行mysql语句的进程)都为yes,则表示主从配置成功.
注:从数据库不要有写操作,要不然主从同步时候必然会出错,所有的操作从主数据库操作.
1.mysql主从配置会产生大量日志(在网上看到的).有些人主从运营了半年日志占磁盘40多G,因为mysql默认的配置expire_logs_days为0,也就是日志过期时间为0,设置一下比较好.
2.主数据库:binlog-do-db为需要备份的数据库名,多个写多行,binlog-ignore-db为不需要备份的数据库名,多个写多行.
从数据库:replicate-do-db为复制某个库的名字,replicate-ignore-db为不复制某个库的名字.
看了看网上的评论都建议在master端不指定binlog-do-db,在slave端用replication-do-db来过滤。
3.主数据库配置:
server-id = 195 #主机标示,整数
log_bin = mysql-bin #确保此文件可写
read-only=0 #主机,读写都可以
从数据库配置:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
server-id = 192
log_bin = mysql-bin
master-host =123.123.123.123//主数据库host 已作废
master-user =****//给从数据库使用的用户 已作废
master-pass =**** //给从数据库使用的密码 已作废
master-port =3306 //端口 已作废
master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db =test #只复制某个库
replicate-ignore-db=mysql #不复制某个库
replicate-ignore-table=vbb.users #不复制某张库的表
replicate-do-table #赋值某张库的表
在生产环境碰见你一个问题,接口服务器不能用过程序写入数据库,上谷歌一查 发现是BINLOG_FORMAT设置问题,默认值为statement,建议配置成mixed.
CHANGE MASTER TO master_host = '{$master_database['host']}',
master_user = 'XXX',
master_password = 'XXX',
master_log_file = '{$data['File']}',//$data['File']和$data['Position']是在主数据库运行show master status获得.
master_log_pos = {$data['Position']},//注意文件名和position和主服务器上对应。
master_connect_retry = 30
启动从数据库 slave start //顾名思义,slave stop是停止主从
从数据库运行show slave status ,如果Slave_IO_Running(表示是否能接受主数据库传递的日志进程)和Slave_SQL_Running(运行mysql语句的进程)都为yes,则表示主从配置成功.
注:从数据库不要有写操作,要不然主从同步时候必然会出错,所有的操作从主数据库操作.
相关文章推荐
- mySQL给空间字段建立索引出现错误All parts of a SPATIAL index must be NOT NULL的解决办法
- 使用 pip 安装 MySQLdb 模块
- 高性能mysql的读书笔记(一)
- Cobar使用文档(可用作MySQL大型集群解决方案)
- wamp 开启mysql慢查日志
- mysql 导出 sql 执行sql
- MySQL [Warning]: IP address 'xxxx' could not be resolved: Name or service not known
- MYSQL远程连接问题
- mysql驱动包添加, 通过mysql connector 连接数据库
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- MySQL数据库的同步配置+MySql读写分离
- spark on hive 配置hive的metastore为mysql
- mysql -u root -p 出错(ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/li)
- MYSQL5.5.19卸载过程中的问题整理
- 【mysql】使用xtrabackup在线增量备份及恢复数据库
- mysqldump 逻辑备份的正确姿势
- MYSQL命令
- Windows平台 安装配置MySQL、启动登录MySQL
- navicat初步使用
- 如何获得mysql数据库的所有的列