mysql5.7主从复制

  

 mysql5.7主从复制

  

注意事项:
主库全库备份完查看该文件binlog pos标记位
文件名为:binlog_pos_innodb记录当时mysql备份时主库的标记为

  

环境说明:
两台安装在CentOS7.4的MySQL5.7.22服务器:主人和奴隶
主服务器:
IP: 192.168.80.51
端口:3306
奴隶服务器:
IP: 192.168.80.52
端口:3306
配置步骤:
1,修改主配的my . cnf中所做置文件,开启记录日志并设置服务器id。
2,修改配奴隶的my . cnf中所做置文件,开启读取二进制日志并设置服务器id。
3,在奴隶上启动奴隶与大师的连接。
4,检查是否配置成功与排错。
1,配主库my . cnf中所做置文件,在(mysqld)下添加如下配置:服务器:

  

[客户]
用户=pmostc
密码=pmostc
端口=3306
套接字=/tmp/mysql.sock

  (mysqld)


用户=mysql
端口=3306
套接字=/tmp/mysql。袜子
basedir=/workspace/app/mysql/
datadir=/workspace/数据/mysql/
tmpdir=/tmp
pid文件=/workspace/数据/mysql/mysql。pid
bind-address=127.0.0.1
log-bin=mysql-bin
服务器id=1
日志错误=mysqld.log

  

replicate-ignore-table=database.table   

log-slave-updates=1   

说明:
log-bin配置的是开启二进制日志,并将日志写在配置的路径上。记录的日志将以master-bin。000001年的方式进行记录。
log-bin-index配置的是二进制日志记录文件的目录。该文件中每一行都是二进制日志文件的路径。
服务器ID是该MySQL服务器的服务ID、用于区分在主从配置中的其他服务器。
配置成功后,重启mysqld服务。
注意:如果不定义log-bin的文件名,则会以主机名主机名命的名,一旦主机名修改,则会因为找不见二进制文件报的错。所以最好还是显示指定文件名。
2,配奴隶从my . cnf中所做置文件,在(mysqld)下添加如下配置:
[客户]
用户=pmostc
密码=pmostc
端口=3306
套接字=/tmp/mysql.sock

  (mysqld)


用户=
根端口=3306
套接字=/tmp/mysql。袜子
basedir=/workspace/app/mysql/
datadir=/workspace/数据/mysql/
tmpdir=/tmp
pid文件=/workspace/数据/mysql/mysql。pid
bind-address=127.0.0.1

  

server_id=1921688052
binlog_format=和
relay-log=relay-bin
relay-log-index=relay-bin.index
节目主持人=
report-port=22988
log-bin=mysql-bin
日志错误=mysqld.log

  

replicate-ignore-table=database.table   

log-slave-updates=1
服务器id和主意义一样,用于区分不同的mysql服务器。
relay-log用以记录收到的中继二进制日志.relay-log-index用以保存收到的日志路径索引。如果不显示指定文件名,则以主机名值命名。
保存后可以重启mysqld服务。

  

3,全量备份主数据库
, mysqldump -uroot -p123456数据库比;database.sql

  

4,在从库恢复主库全量备份数据
, mysqldump -uroot -p123456数据库& lt;database.sql

  

恢复完数据库并重启mysql服务
5,在奴隶上启动奴隶与大师的连接。
在奴隶上登录到mysql在mysql>:下进行操作。
3.1, mysql>停止奴隶;//停止奴隶。
配置标记为同步
mysql>修改主MASTER_HOST=?92.168.80.51”,
→MASTER_USER=repl,
→MASTER_PASSWORD=' 123456 ',
→MASTER_LOG_FILE=癿ysql-bin.000001”,

MASTER_LOG_POS=0;   

3.3, mysql>开始奴隶;
4,检查是否配置成功与排错
mysql>显示奴隶状态\ G;
在打印出来的状态下,查看以下两个参数的值:
Slave_IO_Running:是的
Slave_SQL_Running:是的
如果这两个参数的值都是是的,则运行正常,可以在主数据库上添加一个数据库或者添加一张表,检查奴隶数据库上是否存在。
如果这两个参数有任何一个不是是的,则说明存在问题。可以查看奴隶上的数据库错误日志文件查看错误原因。
Slave_IO_State Slave_IO_Running,和Slave_SQL_Running表明奴隶还没有开始复制过程。
常见的错误原因:
1,服务器id一致。
2,用户权限不够。需要的权限包括:
复制奴隶,重载,创建用户,超级。
格兰特复制奴隶,重载,创建用户,超级。@ {USER} {IP_ADDR} GRANT选项;

  

格兰特复制奴隶,复制客户 slave@ 192.168.80.52”被“123456“;

mysql5.7主从复制