请选择 进入手机版 | 继续访问电脑版

赵耀的知识库

 找回密码
 立即注册
搜索
热搜: 报盘 状态 失败
查看: 2691|回复: 0

mysql数据库主从热备

[复制链接]

375

主题

381

帖子

2330

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2330
发表于 2018-1-10 13:09:00 | 显示全部楼层 |阅读模式
停止主服务器所有应用,以防止数据库数据变更。
主服务器要首先开通备机访问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,启动各个应用程序。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则