数据库双机热备的构造形式

1。mysql数据库未有增量备份的体制,当数据量太大的时候备份是三个极大的难题。幸而mysql数据库提供了豆蔻梢头种基本备份的机制,其实就是把主数据库的具备的数码同一时候写到备份数据库中。实现mysql数据库的热备份。
2。要想实现双机的热备首先要打听焦点数据库服务器的版本的必要。要达成热备mysql的本子都要超越3.2,还应该有一个主干的法规正是作为从数据库的数据库版本能够高于主服务器数据库的版本,不过无法低于主服务器的数据库版本。
3。设置主数据库服务器:
a.首先查看主服务器的版本是还是不是是支持热备的本子。然后查看my.cnf(类unixState of Qatar大概my.ini(windows卡塔尔国中mysqld配置块的安插有未有log-bin(记录数据库改良日志卡塔尔国,因为mysql的复制机制是依照日志的复制机制,所以主服务器必需求扶持校勘日志才行。然后设置要写入日志的数据库或然不要写入日志的数据库。那样唯有您感兴趣的数据库的变动才写入到数据库的日志中。
server-id=1 //数据库的id那个应该暗中同意是1就不要改进 log-bin=log_name
//日志文件的名号,这里能够制定日志到其他目录
若无安装则私下认可主机名的三个日记名称 binlog-do-db=db_name
//记录日志的数据库 binlog-ignore-db=db_name //不记录日志的多少库
以上的要是有多个数据库用”,”分割开 然后装置同步数据库的顾客帐号 mysql
GRANT REPLICATION SLAVE ON *.* – TO ‘repl’@’%.mydomain.com’ IDENTIFIED
BY ‘slavepass’; 4.0.2早先的版本, 因为不帮忙REPLICATION
要使用下边包车型地铁语句来贯彻这几个效应 mysql GRANT FILE ON *.* – TO
‘repl’@’%.mydomain.com’ IDENTIFIED BY ‘slavepass’;
设置好主服务器的配置文件后再一次开动数据库
b.锁定现成的数据库并备份今后的数据 锁定数据库 mysql FLUSH TABLES WITH
READ LOCK;
备份数据库有两种办法朝气蓬勃种是直接进入到mysql的data目录然后打包你须求备份数据库的公文夹,第两种是采纳mysqldump的点子来备份数据库不过要加上”–master-data
” 这些参数,提出选用第风华正茂种艺术来备份数据库 c.查看主服务器的图景 mysql
show master statusG;
+—————+———-+————–+——————+ | File |
Position | Binlog_Do_DB | Binlog_Ignore_DB |
+—————+———-+————–+——————+ |
mysql-bin.003 | 73 | test | manual,mysql |
+—————+———-+————–+——————+ 记录File
和 Position 项指标值,以往要用的。 d.然后把数据库的锁定展开 mysql UNLOCK
TABLES; 4。设置从服务器 a.首先设置数据库的安排文件 server-id=n
//设置数据库id私下认可主服务器是1得以随意设置可是只要有多台从服务器则不能再度。
master-host=db-master.mycompany.com //主服务器的IP地址只怕域名
master-port=3306 //主数据库的端口号 master-user=pertinax
//同步数据库的客户 master-password=freitag //同步数据库的密码
master-connect-retry=60 //假使从服务器开掘主服务器断掉,重新连接的日子差
report-host=db-slave.mycompany.com //报告错误的服务器
b.把从主数据库服务器备份出来的数据库导入到从服务器中
c.然后开发银行从数据库服务器,要是开发银行的时候从不增多”–skip-slave-start”这些参数则步入到mysql中
mysql slave stop; //截止slave的服务 d.设置主服务器的各样参数 mysql
CHANGE MASTE景逸SUV TO – MASTETucson_HOST=’master_host_name’, //主服务器的IP地址

  • MASTER_USER=’replication_user_name’, //同步数据库的客商 –
    MASTE路虎极光_PASSWORD=’replication_password’, //同步数据库的密码 –
    MASTEMurano_LOG_FILE=’recorded_log_file_name’,
    //主服务器二进制日志的文书名(前边供给记住的参数卡塔尔 –
    MASTEENCORE_LOG_POS=recorded_log_position;
    //日志文件的发端地点(前边供给记住的参数卡塔尔 e.运转同步数据库的线程 mysql
    slave start; 查看数据库的三头情形吧。如若能够成功同步这就恭喜了!
    查看主从服务器的事态 mysql SHOW PROCESSLISTG
    //能够查看mysql的进度看看是不是有监听的进程 要是日志太大消释日志的手续如下
    1.锁定主数据库 mysql FLUSH TABLES WITH READ LOCK;
    2.停掉从数据库的slave mysql slave stop;
    3.查看主数据库的日志文件名和日志文件的position show master status;
    +—————+———-+————–+——————+ | File |
    Position | Binlog_do_db | Binlog_ignore_db |
    +—————+———-+————–+——————+ |
    louis-bin.001 | 79 | | mysql |
    +—————+———-+————–+——————+
    4.解开主数据库的锁 mysql unlock tables;
    5.更新从数据库中主数据库的消息 mysql CHANGE MASTER TO –
    MASTER_HOST=’master_host_name’, //主服务器的IP地址 –
    MASTEWrangler_USER=’replication_user_name’, //同步数据库的客户 –
    MASTERubicon_PASSWORD=’replication_password’, //同步数据库的密码 –
    MASTE昂科雷_LOG_FILE=’recorded_log_file_name’,
    //主服务器二进制日志的文书名(前边必要记住的参数卡塔尔(قطر‎ –
    MASTEENCORE_LOG_POS=recorded_log_position;
    //日志文件的启幕地方(前边须要记住的参数State of Qatar 6.开发银行从数据库的slave mysql
    slave start;

发表评论

电子邮件地址不会被公开。 必填项已用*标注