由于平台原因,要实时备份mysql的数据,使用主从服务器。万一主服务器的mysql崩溃,导致数据丢失,可以迅速切换到从服务器的mysql。
mysql的主从服务器配置(linux主,windows从)
MySQL主从介绍
MySQL主从又叫做Replication、AB复制。
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
mysql主从服务器环境介绍:
主服务器系统:ubuntu
主服务器ip地址:192.168.59.129
从服务器系统:win7
从服务器ip地址:192.168.59.131
配置Master主服务器
创建用户,指定权限,指定host,设置密码
在主服务器的mysql中创建一个用户’repl’,并允许其他Slave服务器可以通过远程访问Master
mysql>create user repl; //创建新用户
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'mysql';
//repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。
192.168.0.%,配置是指明repl用户所在服务器,%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定ip。
主服务器启动二进制日志log-bin,指定同步的数据库
编辑my.cnf,
vi /etc/my.cnf或者vi /etc/mysql/my.cnf
在[mysqld]的下面添加如下代码:
server-id = 1 #给数据库服务的唯一标识,必须
log-bin=master-bin
log-bin-index=master-bin.index
binlog-do-db=mytest #指定同步的数据库
Binlog-ignore-db=mysql #指定忽略的数据库,同上者只需存在一个类型即可。
重启mysql服务
service mysql restart 或者
sudo /etc/init.d/mysql restart
查看master主服务器状态
show master status\G
配置slave从服务器
windows上编辑mysql配置文件my.ini
在【mysqld】选项的下面添加如下代码:
server-id=2 #服务器slave的标志号
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin #缓冲日志,存储从master转过来的bin-log
从服务器上配置连接信息
进入从服务器的mysql,先停止slave
slave stop;
mysql>change master to master_host='192.168.59.129', #Master主服务器ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000005', #主服务器状态图中的File值
master_log_pos=1263; #主服务器状态图中的Position值
查看slave从服务器状态
show slave status\G
看其中的slave_io_running和slave_sql_running的状态是否yes,不是的话则出错了。
总结
至此mysql主从服务器就搭建好了。注意,搭建之前,最后先让两个数据库的信息相同。搭建完成后,主服务器的除了查询之外的所以操作,从服务器都会做一遍。