美文网首页
数据库优化之一 -- Mysql 主从备份

数据库优化之一 -- Mysql 主从备份

作者: 浪来了2016 | 来源:发表于2016-10-13 12:01 被阅读102次

需求背景:

后台统计数据和普通用户都集中在同一个时间点访问,并且统计数据大部分都是实时统计的,因而对服务器的压力,特别是数据库的压力特别大。

第一个想到的改良思路是,先剥离后台统计和普通用户的操作,让他们分别访问不同的服务器,只要数据是一致即可,这样的压力就分开了。那第一步实现的方式就是 Mysql 主从备份。

当前环境:

服务器:

阿里云ECS服务器

Mysql 版本

mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

主要流程

1 配置Mysql主服务器

配置 只有备份权限的帐号

grant replication slave on *.* to 'copyuser1'@'ip 地址' identified by 'copyuser2016' with grant option;

导出数据库

mysqldump -u root -p wx_wdy > /home/wx_wdy.sql

修改 my.cnf 配置文档

[mysqld]

log_bin=mysql-bin

binlog-do-db=foodcase  //需要同步的db

binlog-ignore-db=mysql  //不需要同步的 db

binlog-ignore-db=wx_wdy

binlog-ignore-db=test

binlog-ignore-db=information_schema

server_id=1  //主服务器

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

character-set-server=utf8

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

 重启mysql,并查看配置

mysql> show master status;

File :mysql-bin.000003

Position:13751 

这两个值非常关键

后续从服务器配置就需要用上

2 配置Mysql从服务器

创建数据库 

create database foodcase;

使用数据库 

use foodcase;

导入数据 

source /home/db.sql;

测试是否可以连接主服务器 

[root@iZ94fzapvqdZ home]# mysql -u copyuser -h ip地址 -p

修改 my.cnf 配置文档

[mysqld]

log_bin=mysql-bin

replicate-do-db=foodcase  //要同步的 db

replicate-ignore-db=mysql //不需要同步的 db

replicate-ignore-db=wx_wdy

replicate-ignore-db=test

replicate-ignore-db=information_schema

read_only=1 //只读

server_id=2  //从服务器

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

character-set-server=utf8

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

重启 mysql,并关闭从服务器同步,配置,再打开

mysql> slave stop;

配置和主服务器关联读取,上面得到的两个字段就可以用上了

mysql> change master to master_host=' IP 地址', MASTER_USER='copy', MASTER_PASSWORD='copypassword', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=13751;

打开slave

mysql> slave start;

查看slave同步信息

mysql> SHOW SLAVE STATUS\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: IP 地址

Master_User: copyuser1

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 638775

Relay_Log_File: mysqld-relay-bin.000006

Relay_Log_Pos: 374949

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: foodcase

Replicate_Ignore_DB: mysql,wx_wdy,test,information_schema

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: 638775

Relay_Log_Space: 386287

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

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

1 row in set (0.00 sec)

ERROR:

No query specified

上面的  Slave_IO_Running,Slave_SQL_Running 都为 Yes 说明配置成功了!

3. 测试

主服务器建一个表,同时在从服务器就看到了,这样就是同步成功了。

相关文章

  • 数据库优化之一 -- Mysql 主从备份

    需求背景: 后台统计数据和普通用户都集中在同一个时间点访问,并且统计数据大部分都是实时统计的,因而对服务器的压力,...

  • MySQL XtraBackup & Replication D

    问题 数据库备份期间主从延时 MySQL: percona-server-5.6.25-73innobackupe...

  • docker 搭建mysql 主从

    mysql 主从复制 MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多...

  • Mysql的双机热备和负载均衡

    MySQL数据库没有增量备份的机制,但它提供了一种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中。...

  • 43mysql 主从复制

    MySQ主从复制与数据库备份 Mysql 环境安装 https://blog.csdn.net/a7746300...

  • mysql主从数据库备份配置过程

    mysql主从数据库备份配置过程 注意: 1.mysql版本一样 2.master和slave的hostname不...

  • MySQL主从复制(Master-Slave)实践

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强...

  • Mysql的主从复制

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强...

  • 数据库学习目录

    MySQL 备份 MySQL 主从复制 MySQL 读写分离 MySQL 慢查询日志 Redis MongoDB

  • MySQL数据库优化之主从复制

    MySQL数据库优化之主从复制 思想部分 (喜欢实战的可以先看实战) MySQL复制能解决什么问题MySQL的负载...

网友评论

      本文标题:数据库优化之一 -- Mysql 主从备份

      本文链接:https://www.haomeiwen.com/subject/ebwiyttx.html