MySQL主从复制结构是基于mysql bin-log日志基础上,从库通过打开IO进程收到主库的bin-log日志增量信息,并保存到本地relay log,而后再通过打开MYSQL进程从relay log上获取的增量信息并翻译成SQL语句后写到从数据库。 主从复制结构,实际上可以实现两个功能: 1.从库充当主库的数据库备份实例 2.读写分离,主库负责正常读写数据,从库只负责读数据 实际生产环境,因为很多应用实际读数据库的次数远大于写数据库的次数,所以在项目开发初期,编写程序时做一个判断,对所有读的操作全部推到从库,若从库无法获取数据,则再向主库获取数据,从而在一定意义上实现读写分离,缓解主库的IO压力。 所以生产环境下推荐使用这种架构。
系统环境:CentOS6.3 x64数据库: mysql-5.6.10
mysql master:192.168.100.90mysql slave:192.168.100.91 一.部署环境:
1.关闭iptables和SELINUX# service iptables stop# setenforce 0# vi /etc/sysconfig/selinux---------------SELINUX=disabled---------------
2.安装配置mysql传送门:http://www.linuxidc.com/Linux/2013-05/83788.htm二.主mysql配置:(mysql master)修改mysql配置文件:# vi /etc/my.cnf添加:-----------------# Replication Master Server# bin日志路径log-bin = /usr/local/mysql/log/bin.log# 服务器ID号server-id = 1# 忽略mysql系统库复制binlog-ignore-db=mysqlbinlog-ignore-db=information_schema------------重启服务# service mysqld restart
登录mysql后台:# mysql -u root -p123456查看此刻登录账号:> select user();
在master为slave添加同步帐号:> grant replication slave on *.* to "slave"@"192.168.100.91" identified by "123456";
查看创建的用户:> select user.host from mysql.user;
查看权限:> show grants for "slave"@"192.168.100.91";
mysql锁表只读(其他账户登录mysql后无法进行写表操作,防止备份数据库后,主mysql表更新,导致和从数据库内容不一致)> flush tables with read lock;
查看锁表倒计时时间:> show variables like "%timeout%";------------------------....
wait_timeout | 28800------------------------
将master的数据库表全部备份导出,并传送到slave服务器上。
# /usr/local/mysql/bin/mysqldump -u root -p123456 --opt --flush-logs --all-database > /root/allbak.sql# cd ~# scp allbak.sql root@192.168.100.91:/root
查看mysql偏移量(数据库如果有写操作,偏移值会递增)# mysql -u root -p123456 -e "show master status"----------------------+------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------+----------+--------------+------------------+-------------------+| bin.000009 | 120 | | | |+------------+----------+--------------+------------------+-------------------+----------------------保证FILE列和Position列与从库配置一致:
创建ASM磁盘组RHEL6 ASM方式安装Oracle 11g R2相关资讯 主从复制 CentOS6.3 MySQL
- MySQL 复制简要描述及示例 (04/14/2015 06:31:19)
- MySQL AB复制 (11/26/2013 06:07:07)
- 工作中InnoDB引擎数据库主从复制同 (11/28/2012 08:31:58)
| - MariaDB 主从复制 (02/16/2015 12:57:18)
- MySQL的主从复制 (10/20/2013 20:01:08)
- MongoDB 的主从复制启动 (02/06/2012 15:51:20)
|
本文评论 查看全部评论 (0)