mysql主从备份开启过程

简略说明过程,网上有大量的教程

①主库开启
#vi /etc/my.cnf //mysql配置文件,不一定在此处
[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=1      //[必须]服务器唯一ID,默认是1,主从不一样即可
②从库开启
#vi /etc/my.cnf //mysql配置文件,不一定在此处
[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=2      //[必须]服务器唯一ID,主从不一样即可
③重启两台服务器

重启时间很短

>service mysqld restart
④在主服务器上建立帐户并授权slave:
>mysql -uroot -p
>看不见的密码
mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by '123456'; //请不要使用root帐号,%表示所有客户端都可连接,此处可用具体客户端IP代替,如192.168.145.226,加强安全。
⑤导出主库导入从库(此步骤可用navicat等工具完成,节省时间)

将主库数据导出并导入到从库,注意开始导出操作后,就不能再有数据库操作,建议关闭http服务

>mysqldump -u root -p password db> back.sql

建好db库并导入

>mysql -uroot -p
>看不见的密码
mysql>use db;
mysql>source back.sql; 
⑥查询主库master状态
mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      308 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

注意此处的308,就是这个308浪费了时间
主库这里是308,从库必须也是308,并且在从库开启slave模式时必须和主库一致
因此,第④步操作之后,主库就不能再有修改操作,一致到从库开启slave,这里是浪费时间的地方。

⑦配置从服务器Slave:
mysql>change master to master_host='主库ip',master_user='mysync',master_password='q123456',master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要断开,308数字前后无单引号。
Mysql>start slave;    //启动从服务器复制功能,这两句是关键步骤

从库查看slave信息

mysql> show slave 
下边是输出信息
lave_IO_State: Waiting for master to send event
省略一堆
Slave_IO_Running: Yes    //此状态必须YES
Slave_SQL_Running: Yes     //此状态必须YES
省略一堆

这两处为Yes时说明已经开启同步了。
这时候就可以开启网站访问了,正常情况下,此处会保持Yes状态(有可能会此处为Yes,但主库有修改从库这儿就有一个no,这种情况一般是Position不一致导致的,也就是上边的308)

猜你喜欢

转载自blog.csdn.net/kk1946n/article/details/75443372
今日推荐