下面我将为您详细讲解“Windows服务器下MySql数据库单向主从备份详细实现步骤分享”的完整攻略。
步骤一:创建主从复制用户
- 登录mysql:
mysql -u root -p
- 创建主从复制用户
CREATE USER 'replicator'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
说明:这里创建的用户是replicator,密码为123456,这个用户的权限是从服务器读取。
步骤二:配置主服务器
- 编辑my.ini配置文件,添加以下配置:
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #服务器唯一标识(一般设置为IP末段)
- 重启mysql服务:
net stop mysql
net start mysql
- 查看二进制文件名及位置:
show master status;
结果如:
Field | Value |
---|---|
File | mysql-bin.000003 |
Position | 2496 |
Binlog_Do_DB | |
Binlog_Ignore_DB |
说明:记录下File和Position的值,备份从数据库需要使用。
步骤三:配置备份服务器
- 编辑my.ini配置文件,添加以下配置:
[mysqld]
server-id=2 #服务器唯一标识(一般设置为IP末段)
- 重启mysql服务:
net stop mysql
net start mysql
- 执行同步命令:
CHANGE MASTER TO
MASTER_HOST='192.168.0.1', #主服务器IP
MASTER_USER='replicator', #同步用户
MASTER_PASSWORD='123456', #同步用户密码
MASTER_LOG_FILE='mysql-bin.000003', #主服务器中的File值
MASTER_LOG_POS=2496; #主服务器中的Position值
START SLAVE;
- 查看从服务器状态:
show slave status\G
结果如:
Field | Value |
---|---|
Slave_IO_State | Waiting for master to send event |
Master_Host | 192.168.0.1 |
Master_User | replicator |
Master_Port | 3306 |
Connect_Retry | 60 |
Master_Log_File | mysql-bin.000003 |
Read_Master_Log_Pos | 2496 |
Relay_Log_File | CORTEX-relay-bin.000002 |
Relay_Log_Pos | 243 |
Relay_Master_Log_File | mysql-bin.000003 |
Slave_IO_Running | Yes |
Slave_SQL_Running | Yes |
说明:Slave_IO_Running和Slave_SQL_Running均为Yes,表示同步已成功。
示例一:备份主服务器上的test数据库到从服务器
- 在主服务器上执行备份命令:
mysqldump --databases test > test.sql
说明:备份test数据库并保存到test.sql文件中。
- 在从服务器上执行导入命令:
mysql -u root -p test < test.sql
说明:将test.sql文件的数据导入到从服务器上的test数据库中。
示例二:备份从服务器上的test数据库到本地
- 在从服务器上执行备份命令:
mysqldump --databases test > test.sql
说明:备份test数据库并保存到test.sql文件中。
-
将test.sql文件从从服务器拷贝至本地。
-
在本地执行导入命令:
mysql -u root -p test < test.sql
说明:将test.sql文件的数据导入到本地的test数据库中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Windows服务器下MySql数据库单向主从备份详细实现步骤分享 - Python技术站