Mysql 的主从备份失败的原因

1 查看主服务器是否授权:

select user,host from mysql.user; #查看mysql用户

如果未授权执行创建:

grant all privileges on *.* to ‘username’@’ip’ identified by ‘password’ with grant option;

例如:

grant all privileges on *.* to 'slave'@'192.168.199.133' identified by 'slave' with grant option;#授权

flush privileges;#刷新权限

查看Mater信息

show master status;

slave从服务[从库]器请求:

    修改Slave 配置文件
        /etc/my.cnf

server_id
唯一标识, 本环境中配置为: 2

log_bin
可以使用默认配置, 也可以注释.

可选: 修改uuid
主从模式要求多个MySQL 物理名称不能相同. 即按装MySQL 过程中Linux 自动生成的
物理标志. 唯一物理标志命名为uuid. 保存位置是MySQL 数据库的数据存放位置. 默认为
/var/lib/mysql 目录中. 文件名是auto.cnf.
修改auto.cnf 文件中的uuid 数据. 随意修改,不建议改变数据长度.建议改变数据内容.
/var/lib/mysql/auto.cnf

重启MySQL 服务
service mysqld restart;

访问mysql
mysql -uusername -ppassword

停止Slave 功能
stop slave

配置主库信息
需要修改的数据是依据Master 信息修改的. ip 是Master 所在物理机IP. 用户名和密码是
Master 提供的Slave 访问用户名和密码. 日志文件是在Master 中查看的主库信息提供的.在
Master 中使用命令show master status 查看日志文件名称.
change master to master_host=’ip’, master_user=’username’,master_password=’password’,master_log_file=’log_file_name’;

例如:change master to master_host='192.168.199.212', master_user='slave',master_password='slave',

master_log_file='master_log.000001';

启动Slave 功能
start slave;

查看Slave 配置
show slave status \G;

查看重要信息

Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.120.139
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-log.000001
Read_Master_Log_Pos: 427
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 591
Relay_Master_Log_File: master-log.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 427
Relay_Log_Space: 765
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0 最后一次错误的IO 请求编号
Last_IO_Error:
Last_SQL_Errno: 0 最后一次错误的执行SQL 命令编号.
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 9ee988ac-8751-11e7-8a95-000c2953ac06
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0

SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O
thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)

测试主从。。。。。。

Mysql 的主从备份失败的原因_第1张图片

Mysql 的主从备份失败的原因_第2张图片

Mysql 的主从备份失败的原因_第3张图片

Mysql 的主从备份失败的原因_第4张图片

数据库从库读取master_log不能发生错误:主从库不一样会发生SQL错误,主从同步失败

数据库IP,password请求错误,主从同步失败

解决:根据错误日志修改 master_log_pos读取的位置执行:

例如:change master to master_host='192.168.16.105', master_user='slave', master_password='slave', master_log_file='mysql_bin.000011',master_log_pos=154;

你可能感兴趣的:(linux)