一、主从备份前准备
0、主从数据库版本
1、主从库结构要完全一致(包括库名,表名,表结构等)所以在做主从配制之前,要同步好两个库的数据
2、主从库配制前要没人使用库的时候,才进行配制,因为数据库在使用过程中,主库数据发生变更,会导致 show master status;
查出的结果每次都不一样,主从关系会建立不起来!!!
3、配制好主从关系(调通后)不能修改从表数据,这样会导致主库与从库不同步,主库数据或结构发生改变的时候,就同步不了从库了!!!
二、主数据库配制操作(ip:192.168.1.179:3307) 这里我不是用的默认端口3306而是自定义的端口
1、修改mysql服务端配制文件
1.1 windows 配制文件修改
1.1.1 安装目录下 my.ini
server_id = 179【唯一ID】
log_bin=mysql-bin
binlog-do-db = test_db【要同步的数据库名】
log_bin_trust_function_creators=TRUE
1.1.2 重启mysql服务
net stop mysql;
net start mysql;
===========================================================
1.2 linux 配制文件修改
1.2.1 目录./ect/my.cnf
server_id = 179【唯一ID】
log_bin=mysql-bin
binlog-do-db = test_db【要同步的数据库名】
log_bin_trust_function_creators=TRUE
1.2.2 重启mysql
systemctl restart mysqld.service
2、添加一个用户权限
grant replication slave on *.* to 'bakuser'@'%' identified by '123456';
3、更新权限
flush privileges;
4、查询服务器当前状态
show master status;
如下所示:
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 5592 | test_db | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
三、从数据库配制操作(192.168.1.39)
1 修改mysql服务端配制文件
1.1 windows 配制文件修改,增加
server_id = 39
1.1.2 重启mysql服务
net stop mysql;
net start mysql;
===========================================
1.2 linux 配制文件修改
1.2.1 目录./ect/my.cnf 增加:
server_id = 39
1.2.2 重启mysql
systemctl restart mysqld.service
2 添加一个用户权限
mysql> grant replication slave on *.* to 'bakuser'@'%' identified by '123456';
3 绑定主服务器数据库
mysql> stop slave;
mysql> change master to
master_host='192.168.1.77',
master_port=3307,
master_user='bakuser',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=5592;
mysql> start slave;
语句说明:
参数值 参考上面第二大点,第4小点的查询结果
#master_host:主服务器的IP地址
#master_port:主服务器的访问端口
#master_user:主服务器设置的备份用户
#master_password:主服务器备份用户密码
#master_log_file:主服务器的日志名称 【查询结果中的 File字段 值】
#master_log_pos:主服务器的位置 【查询结果中的 Position字段 值】
4 查询是否配置成功
mysql> show slave status\G;
在查询结果中查找这两个参数都要显示为Yes才表示配制成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
其它任何情况都不成功
不成功时,肯定是上面没有配制对,或是服务器端口号没开
mysql 主从复制 个人笔记
猜你喜欢
转载自blog.csdn.net/lwbjyl/article/details/84861389
今日推荐
周排行