|
停止主服务器所有应用,以防止数据库数据变更。
主服务器要首先开通备机访问3306端口权限
vi /etc/sysconfig/iptables
增加一句:
-A INPUT -s 218.83.83.3 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出,执行以下命令重启网络
service iptables restart
1,主服务器授权(218.83.83.3:从服务器的ip)
mysql> GRANT REPLICATION SLAVE ON *.* TO root@'218.83.83.3'IDENTIFIED BY 'abc123';
2,现有存量数据复制(同步)
导出主数据库数据
shell> mysqldump -u root -p --default-character-set=utf8 ivsdyun > master.sql
导入从数据库
mysql>use ivsdyun;
mysql>source master.sql; 或者 shell>mysql -uroot -pabc123 -e "source master.sql"
3,配置主服务器
vi /etc/my.cnf
[mysqld]
#唯一值,并不能与副服务器相同
server-id=1
#日志文件以binary_log为前缀,如果不给log-bin赋值,日志文件将以#master-server-hostname为前缀
log-bin = mysql-bin
#日志文件跳过的数据库(可选属性)
#不记录日志的数据库
binlog-ignore-db=mysql,information_schema,performance_schema,sys
#记录日志的数据库
binlog-do-db=ivsdyun
4,重启主数据库
5,配置从数据库
[mysqld]
#唯一,并与主服务器上的server-id不同。
server-id=2
#启动MySQ二进制日志系统
log_bin=mysql-bin
#不记录日志的数据库
binlog-ignore-db=mysql,information_schema,performance_schema,sys
#记录日志的数据库
binlog-do-db=ivsdyun
重启从数据库
mysql -u root -p #进入MySQL控制台
stop slave; #停止slave同步进程
mysql>change master to master_host='218.83.83.2',master_user='root',master_password='abc123',master_log_file='mysql-bin.000001' ,master_log_pos=154; #执行同步语句
start slave; #开启slave同步进程
SHOW SLAVE STATUS\G; #查看slave同步信息
6,启动复制
mysql>show slave status\G;
如果显示waiting for master to send event 的话就表示已经启动了,反之就运行
mysql>start slave
来启动slave
注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!
7,备机
1.root登录MySQL,以下命令必须具有root权限。
2.执行mysql>SET GLOBAL log_bin_trust_function_creators = 1;
然后将主机的两个函数的脚本单独刷到备库中,此时两个数据库的数据和函数等完全一致。
8,启动各个应用程序。
|
|