MySQL数据同步(一主多从)
2016-06-15 18:43
711 查看
MySQL数据同步一主多从和一主一从原理其实是一样。
环境:
Master centos6.5 mysql5.1.71 主服务器的ip:192.168.56.201
Slave1 centos6.5 mysql5.1.711 从服务器的ip:192.168.56.202
一master主服务器上设置:
1、防火墙打开3306端口 vi /etc/sysconfig/iptables
拷贝
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
插入修改为
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
结果为
2、建立log-bin文件存放路径 mkdir -p /var/log/mysql/logbin
3、修改log-bin的拥有者 chown -R mysql:mysql /var/log/mysql
4、编辑配置文件 # vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#默认字符集
default-character-set=utf8
#服务器标识
server-id=1
#开启log-bin 指定存放位置及文件 路径需要设置为mysql:mysql(群:用户)的
log-bin=/var/log/mysql/logbin/mysql-bin
#同步的数据库
binlog-do-db=p2p20_longedai_czbank
#不同步
#binlog-ignore-db =mysql,information_schema
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
5、重启mysql数据库
6、添加slave服务器访问master服务器的帐号和权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'lxhsalve'@'192.168.56.202' IDENTIFIED BY '123456';
7、主服务器查看
mysql> show master status; //得到主服务器上当前的二进制日志名和偏移量
二slave从服务器上设置:
1、防火墙打开3306端口 vi /etc/sysconfig/iptables
2、编辑my.cnf文件(vi /etc/my.cnf)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#设置默认字符集
default-character-set=utf8
#Server标识
server-id=2
#主机ip#同步用户帐号
master-host=192.168.56.201
#同步用户帐号
master-user=lxhsalve
#同步用户密码
master-password=123456
#主机数据库端口
master-port=3306
#设重试间隔60秒
master-connect-retry=60
#告诉slave只做backup数据库的更新
replicate-do-db=p2p20_longedai_czbank
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3、重启mysql数据库
4、slave服务器查看
四、测试
注意:主从数据库初始信息要相同,包括表结构、表数据、编码等,如果不相同,则将master主服务器中的信息先备份,然后再导入到从服务器。
五、注意:
1、数据库的root一定设置密码且仅能127.0.0.1可登陆
2、删除其它未用账户
环境:
Master centos6.5 mysql5.1.71 主服务器的ip:192.168.56.201
Slave1 centos6.5 mysql5.1.711 从服务器的ip:192.168.56.202
一master主服务器上设置:
1、防火墙打开3306端口 vi /etc/sysconfig/iptables
拷贝
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
插入修改为
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
结果为
2、建立log-bin文件存放路径 mkdir -p /var/log/mysql/logbin
3、修改log-bin的拥有者 chown -R mysql:mysql /var/log/mysql
4、编辑配置文件 # vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#默认字符集
default-character-set=utf8
#服务器标识
server-id=1
#开启log-bin 指定存放位置及文件 路径需要设置为mysql:mysql(群:用户)的
log-bin=/var/log/mysql/logbin/mysql-bin
#同步的数据库
binlog-do-db=p2p20_longedai_czbank
#不同步
#binlog-ignore-db =mysql,information_schema
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
5、重启mysql数据库
6、添加slave服务器访问master服务器的帐号和权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'lxhsalve'@'192.168.56.202' IDENTIFIED BY '123456';
7、主服务器查看
mysql> show master status; //得到主服务器上当前的二进制日志名和偏移量
二slave从服务器上设置:
1、防火墙打开3306端口 vi /etc/sysconfig/iptables
2、编辑my.cnf文件(vi /etc/my.cnf)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#设置默认字符集
default-character-set=utf8
#Server标识
server-id=2
#主机ip#同步用户帐号
master-host=192.168.56.201
#同步用户帐号
master-user=lxhsalve
#同步用户密码
master-password=123456
#主机数据库端口
master-port=3306
#设重试间隔60秒
master-connect-retry=60
#告诉slave只做backup数据库的更新
replicate-do-db=p2p20_longedai_czbank
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3、重启mysql数据库
4、slave服务器查看
SHOW SLAVE STATUS \G;
四、测试
注意:主从数据库初始信息要相同,包括表结构、表数据、编码等,如果不相同,则将master主服务器中的信息先备份,然后再导入到从服务器。
五、注意:
1、数据库的root一定设置密码且仅能127.0.0.1可登陆
2、删除其它未用账户
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复