Innobackup mysql 多实例环境搭建主从同步

Innobackup mysql 多实例环境搭建主从同步

该实验是在mysql多实例环境下做的;如果需要部署 mysql 多实例环境,则移步:

mysql 多实例案例实战: http://blog.csdn.net/wanglei_storage/article/details/49305239



mysql 的主从搭建大家有很多种方式,传统的 mysqldump 方式是很多人的选择之一。但对于较大的数据库则该方式并非理想的选择。使用 Xtrabackup 可以快速轻松的构建 mysql 主从架构。本文描述了使用innobackupex快速来搭建主从架构。

需求:

(1)用户通过 innibackupex 从 mysql-master备份数据

(2)将主库备份的数据在 mysql-slave 还原数据

(3)设置 mysql-master 和 mysql-slave 数据实时同步

环境:

mysql-master:10.1.0.50

mysql-slave:10.1.0.60

准备:

percona-xtrabackup 安装包,提供 innobackupex 工具

下面开始:

一、安装 percona-xtrabackup(主从都需要,主用来备份,从用来还原)

下载地址:http://www.percona.com/downloads/XtraBackup/

[[email protected] ~]# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libev-devel

[[email protected] ~]# rpm -ivh percona-xtrabackup-2.3.4-1.el6.x86_64.rpm



二、主库备份数据(mysql-master:10.1.0.50)

[[email protected] ~]# mkdir /tmp/backup

[[email protected] ~]# time innobackupex –defaults-file=/etc/my.cnf –defaults-group=mysqld1 –user=root –password=$(cat /data/save/mysql_root) /tmp/backup/



二、打包,传递到从库(mysql-slave:10.1.0.60)

[[email protected] tmp]# tar zcf backup.tgz backup/

[[email protected] tmp]# scp backup.tgz 10.1.0.60:/tmp



三、还原从主库备份的数据

解包:

[[email protected] tmp]# tar zxf backup.tgz

备份旧的数据目录,并且新建一个数据目录,进行还原从主库备份的数据:

[[email protected] tmp]# mv /usr/local/mysql/data/dbdata_3306/ /usr/local/mysql/data/dbdata_3306_bak

[[email protected] tmp]# mkdir -p /usr/local/mysql/data/dbdata_3306

还原数据:

[[email protected] data]# time innobackupex –defaults-file=/etc/my.cnf –defaults-group=mysqld1 –user=root –password=$(cat /data/save/mysql_root) –apply-log /tmp/backup/2016-04-19_16-57-37/

[[email protected] data]# time innobackupex –defaults-file=/etc/my.cnf –defaults-group=mysqld1 –user=root –password=$(cat /data/save/mysql_root) –copy-back /tmp/backup/2016-04-19_16-57-37/

注意:

–apply-log 选项的命令是准备在一个备份上启动mysql服务

–copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置

授权,并且启动 mysql 服务:

[[email protected] data]# chown mysql:mysql -R /usr/local/mysql/data/dbdata_3306/

[[email protected] data]# /usr/local/mysql/bin/mysqld_multi start 1



四、从库设置并启动主从同步

我们先来看看 innobackupex 备份后生成的一份文件,里面记载了主从所需要的 MASTER_LOG_FILE 和 MASTER_LOG_POS

登录数据库

输入 mysql-master 的 user,host,port,password,log_file,log_pos 等信息,接着启动主从命令:start slave;

查看主从情况(发现是正常的):

[email protected](none) 17:15>
[email protected](none) 17:15>
[email protected](none) 17:15>show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.1.0.50
                  Master_User: backup
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 151
               Relay_Log_File: mysql-bin.000002
                Relay_Log_Pos: 314
        Relay_Master_Log_File: mysql-bin.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: 151
              Relay_Log_Space: 512
              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:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID: 7018e49e-060c-11e6-ba4c-000c2943a57f
             Master_Info_File: mysql.slave_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)

ERROR:
No query specified

[email protected](none) 17:15>


五、mysql-master 和 mysql-slave 配置文件

mysql-master 配置档:

#!/bin/bash

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
password = yunjee0515ueopro1234

[mysqld1]
basedir = /usr/local/mysql
character-set-server = utf8
port = 3306
socket = /tmp/mysql_3306.sock
datadir = /usr/local/mysql/data/dbdata_3306
pid-file = /usr/local/mysql/data/dbdata_3306/mysql.pid
log-error = /usr/local/mysql/data/dbdata_3306/mysql.err
server-id = 1
skip-character-set-client-handshake                                     #忽略应用程序想要设置的其他字符集
init-connect=‘SET NAMES utf8‘                                           #连接时执行的SQL
character-set-server=utf8                                               #服务端默认字符集
wait_timeout=1800                                                       #请求的最大连接时间
interactive_timeout=1800                                                #和上一参数同时修改才会生效
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES                     #sql模式
log-bin = mysql-bin                                                     #打开二进制功能,MASTER主服务器必须打开此项
relay-log = mysql-bin                                                   #文件名格式
relay-log-index = mysql-bin.index                                       #index文件名
##MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
binlog-format=ROW                                                       #binlog格式
log-slave-updates=true                                                  #表示如果一个MASTER挂掉的话,另外一个马上接管
gtid-mode=on                                                            #用于启动GTID及满足附属的其它需求
enforce-gtid-consistency=true                                           #
#report-port=port                           #从属服务器的端口
#report-host=host                           #从属服务器的主机名
master-info-repository=TABLE                                            #启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能
relay-log-info-repository=TABLE                                         #
sync-master-info=1                                                      #启用之可确保无信息丢失
slave-parallel-workers=2                                                #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32                                                   #
master-verify-checksum=1                                                #
slave-sql-verify-checksum=1                                             #启用复制有关的所有校验功能
binlog-rows-query-log_events=1                                          ###MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
expire_logs_day=5                           #超过5天的binlog删除
max_binlog_size=104857600
#replicate-ignore-db = mysql                        #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
#replicate-ignore-db = test
#replicate-ignore-db = zabbix
#replicate-ignore-db = sysbench
#replicate-ignore-db = db_3306
##slave-skip-errors=0                           #主从忽略错误数
##注释掉,使用默认设置
#skip-external-locking
##innodb_force_recovery = 1
key_buffer_size = 256M
max_allowed_packet = 100M
#table_open_cache = 1024
#sort_buffer_size = 128M
#net_buffer_length = 8K
#read_buffer_size = 128M
#read_rnd_buffer_size = 256M
#myisam_sort_buffer_size = 32M
#character-set-server = utf8
skip-name-resolve
max_connections = 10000
##慢查询设置
slow-query-log=on
long_query_time = 2
#log-queries-not-using-indexes
##注释掉,使用默认设置
## For InnoDB
innodb_buffer_pool_size = 1G
#innodb_additional_mem_pool_size = 128M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#innodb_file_per_table=1

[mysqld2]
basedir = /usr/local/mysql
character-set-server = utf8
port = 3307
socket = /tmp/mysql_3307.sock
datadir = /usr/local/mysql/data/dbdata_3307
pid-file = /usr/local/mysql/data/dbdata_3307/mysql.pid
log-error = /usr/local/mysql/data/dbdata_3307/mysql.err
server-id = 1
skip-character-set-client-handshake                                     #忽略应用程序想要设置的其他字符集
init-connect=‘SET NAMES utf8‘                                           #连接时执行的SQL
character-set-server=utf8                                               #服务端默认字符集
wait_timeout=1800                                                       #请求的最大连接时间
interactive_timeout=1800                                                #和上一参数同时修改才会生效
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES                     #sql模式
log-bin = mysql-bin                                                     #打开二进制功能,MASTER主服务器必须打开此项
relay-log = mysql-bin                                                   #文件名格式
relay-log-index = mysql-bin.index                                       #index文件名
#MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
binlog-format=ROW                                                       #binlog格式
log-slave-updates=true                                                  #表示如果一个MASTER挂掉的话,另外一个马上接管
gtid-mode=on                                                            #用于启动GTID及满足附属的其它需求
enforce-gtid-consistency=true                                           #
#report-port=port                                                       #从属服务器的端口
#report-host=host                                                       #从属服务器的主机名
master-info-repository=TABLE                                            #启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能
relay-log-info-repository=TABLE                                         #
sync-master-info=1                                                      #启用之可确保无信息丢失
slave-parallel-workers=2                                                #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32                                                   #
master-verify-checksum=1                                                #
slave-sql-verify-checksum=1                                             #启用复制有关的所有校验功能
binlog-rows-query-log_events=1                                          ###MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
expire_logs_day=5                                                       #超过5天的binlog删除
max_binlog_size=104857600
#replicate-ignore-db = mysql                                             #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
#replicate-ignore-db = test
#replicate-ignore-db = zabbix
#replicate-ignore-db = sysbench
#replicate-ignore-db = db_3307
##slave-skip-errors=0                                                   #主从忽略错误数
##注释掉,使用默认设置
#skip-external-locking
##innodb_force_recovery = 1
key_buffer_size = 256M
max_allowed_packet = 100M
#table_open_cache = 1024
#sort_buffer_size = 128M
#net_buffer_length = 8K
#read_buffer_size = 128M
#read_rnd_buffer_size = 256M
#myisam_sort_buffer_size = 32M
#character-set-server = utf8
skip-name-resolve
max_connections = 10000
##慢查询设置
slow-query-log=on
long_query_time = 2
#log-queries-not-using-indexes
##注释掉,使用默认设置
## For InnoDB
innodb_buffer_pool_size = 1G
#innodb_additional_mem_pool_size = 128M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#innodb_file_per_table=1

[mysqld3]
basedir = /usr/local/mysql
character-set-server = utf8
port = 3308
socket = /tmp/mysql_3308.sock
datadir = /usr/local/mysql/data/dbdata_3308
pid-file = /usr/local/mysql/data/dbdata_3308/mysql.pid
log-error = /usr/local/mysql/data/dbdata_3308/mysql.err
server-id = 1
skip-character-set-client-handshake                                     #忽略应用程序想要设置的其他字符集
init-connect=‘SET NAMES utf8‘                                           #连接时执行的SQL
character-set-server=utf8                                               #服务端默认字符集
wait_timeout=1800                                                       #请求的最大连接时间
interactive_timeout=1800                                                #和上一参数同时修改才会生效
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES                     #sql模式
log-bin = mysql-bin                                                     #打开二进制功能,MASTER主服务器必须打开此项
relay-log = mysql-bin                                                   #文件名格式
relay-log-index = mysql-bin.index                                       #index文件名
#MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
binlog-format=ROW                                                       #binlog格式
log-slave-updates=true                                                  #表示如果一个MASTER挂掉的话,另外一个马上接管
gtid-mode=on                                                            #用于启动GTID及满足附属的其它需求
enforce-gtid-consistency=true                                           #
#report-port=port                                                       #从属服务器的端口
#report-host=host                                                       #从属服务器的主机名
master-info-repository=TABLE                                            #启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能
relay-log-info-repository=TABLE                                         #
sync-master-info=1                                                      #启用之可确保无信息丢失
slave-parallel-workers=2                                                #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32                                                   #
master-verify-checksum=1                                                #
slave-sql-verify-checksum=1                                             #启用复制有关的所有校验功能
binlog-rows-query-log_events=1                                          ###MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
expire_logs_day=5                                                       #超过5天的binlog删除
max_binlog_size=104857600
#replicate-ignore-db = mysql                                             #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
#replicate-ignore-db = test
#replicate-ignore-db = zabbix
#replicate-ignore-db = sysbench
#replicate-ignore-db = db_3308
##slave-skip-errors=0                                                   #主从忽略错误数
##注释掉,使用默认设置
#skip-external-locking
##innodb_force_recovery = 1
key_buffer_size = 256M
max_allowed_packet = 100M
#table_open_cache = 1024
#sort_buffer_size = 128M
#net_buffer_length = 8K
#read_buffer_size = 128M
#read_rnd_buffer_size = 256M
#myisam_sort_buffer_size = 32M
#character-set-server = utf8
skip-name-resolve
max_connections = 10000
##慢查询设置
slow-query-log=on
long_query_time = 2
#log-queries-not-using-indexes
##注释掉,使用默认设置
## For InnoDB
innodb_buffer_pool_size = 1G
#innodb_additional_mem_pool_size = 128M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#innodb_file_per_table=1

[mysqldump]
quick
max_allowed_packet = 256M

[mysql]
no-auto-rehash
prompt=\\[email protected]\\d \\R:\\m>
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

mysql-slave 配置档:

#!/bin/bash

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
password = yunjee0515ueopro1234

[mysqld1]
basedir = /usr/local/mysql
character-set-server = utf8
port = 3306
socket = /tmp/mysql_3306.sock
datadir = /usr/local/mysql/data/dbdata_3306
pid-file = /usr/local/mysql/data/dbdata_3306/mysql.pid
log-error = /usr/local/mysql/data/dbdata_3306/mysql.err
server-id = 2
skip-character-set-client-handshake                                     #忽略应用程序想要设置的其他字符集
init-connect=‘SET NAMES utf8‘                                           #连接时执行的SQL
character-set-server=utf8                                               #服务端默认字符集
wait_timeout=1800                                                       #请求的最大连接时间
interactive_timeout=1800                                                #和上一参数同时修改才会生效
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES                     #sql模式
log-bin = mysql-bin                                                     #打开二进制功能,MASTER主服务器必须打开此项
relay-log = mysql-bin                                                   #文件名格式
relay-log-index = mysql-bin.index                                       #index文件名
##MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
binlog-format=ROW                                                       #binlog格式
log-slave-updates=true                                                  #表示如果一个MASTER挂掉的话,另外一个马上接管
gtid-mode=on                                                            #用于启动GTID及满足附属的其它需求
enforce-gtid-consistency=true                                           #
report-port=3306                            #从属服务器的端口
report-host=10.1.0.60                           #从属服务器的主机名
master-info-repository=TABLE                                            #启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能
relay-log-info-repository=TABLE                                         #
sync-master-info=1                                                      #启用之可确保无信息丢失
slave-parallel-workers=2                                                #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32                                                   #
master-verify-checksum=1                                                #
slave-sql-verify-checksum=1                                             #启用复制有关的所有校验功能
binlog-rows-query-log_events=1                                          ###MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
expire_logs_day=5                           #超过5天的binlog删除
max_binlog_size=104857600
#replicate-ignore-db = mysql                        #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
#replicate-ignore-db = test
#replicate-ignore-db = zabbix
#replicate-ignore-db = sysbench
#replicate-ignore-db = db_3306
##slave-skip-errors=0                           #主从忽略错误数
##注释掉,使用默认设置
#skip-external-locking
##innodb_force_recovery = 1
key_buffer_size = 256M
max_allowed_packet = 100M
#table_open_cache = 1024
#sort_buffer_size = 128M
#net_buffer_length = 8K
#read_buffer_size = 128M
#read_rnd_buffer_size = 256M
#myisam_sort_buffer_size = 32M
#character-set-server = utf8
skip-name-resolve
max_connections = 10000
##慢查询设置
slow-query-log=on
long_query_time = 2
#log-queries-not-using-indexes
##注释掉,使用默认设置
## For InnoDB
innodb_buffer_pool_size = 1G
#innodb_additional_mem_pool_size = 128M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#innodb_file_per_table=1

[mysqld2]
basedir = /usr/local/mysql
character-set-server = utf8
port = 3307
socket = /tmp/mysql_3307.sock
datadir = /usr/local/mysql/data/dbdata_3307
pid-file = /usr/local/mysql/data/dbdata_3307/mysql.pid
log-error = /usr/local/mysql/data/dbdata_3307/mysql.err
server-id = 2
skip-character-set-client-handshake                                     #忽略应用程序想要设置的其他字符集
init-connect=‘SET NAMES utf8‘                                           #连接时执行的SQL
character-set-server=utf8                                               #服务端默认字符集
wait_timeout=1800                                                       #请求的最大连接时间
interactive_timeout=1800                                                #和上一参数同时修改才会生效
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES                     #sql模式
log-bin = mysql-bin                                                     #打开二进制功能,MASTER主服务器必须打开此项
relay-log = mysql-bin                                                   #文件名格式
relay-log-index = mysql-bin.index                                       #index文件名
#MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
binlog-format=ROW                                                       #binlog格式
log-slave-updates=true                                                  #表示如果一个MASTER挂掉的话,另外一个马上接管
gtid-mode=on                                                            #用于启动GTID及满足附属的其它需求
enforce-gtid-consistency=true                                           #
report-port=3307                                                       #从属服务器的端口
report-host=10.1.0.60                                                       #从属服务器的主机名
master-info-repository=TABLE                                            #启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能
relay-log-info-repository=TABLE                                         #
sync-master-info=1                                                      #启用之可确保无信息丢失
slave-parallel-workers=2                                                #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32                                                   #
master-verify-checksum=1                                                #
slave-sql-verify-checksum=1                                             #启用复制有关的所有校验功能
binlog-rows-query-log_events=1                                          ###MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
expire_logs_day=5                                                       #超过5天的binlog删除
max_binlog_size=104857600
#replicate-ignore-db = mysql                                             #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
#replicate-ignore-db = test
#replicate-ignore-db = zabbix
#replicate-ignore-db = sysbench
#replicate-ignore-db = db_3307
##slave-skip-errors=0                                                   #主从忽略错误数
##注释掉,使用默认设置
#skip-external-locking
##innodb_force_recovery = 1
key_buffer_size = 256M
max_allowed_packet = 100M
#table_open_cache = 1024
#sort_buffer_size = 128M
#net_buffer_length = 8K
#read_buffer_size = 128M
#read_rnd_buffer_size = 256M
#myisam_sort_buffer_size = 32M
#character-set-server = utf8
skip-name-resolve
max_connections = 10000
##慢查询设置
slow-query-log=on
long_query_time = 2
#log-queries-not-using-indexes
##注释掉,使用默认设置
## For InnoDB
innodb_buffer_pool_size = 1G
#innodb_additional_mem_pool_size = 128M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#innodb_file_per_table=1

[mysqld3]
basedir = /usr/local/mysql
character-set-server = utf8
port = 3308
socket = /tmp/mysql_3308.sock
datadir = /usr/local/mysql/data/dbdata_3308
pid-file = /usr/local/mysql/data/dbdata_3308/mysql.pid
log-error = /usr/local/mysql/data/dbdata_3308/mysql.err
server-id = 2
skip-character-set-client-handshake                                     #忽略应用程序想要设置的其他字符集
init-connect=‘SET NAMES utf8‘                                           #连接时执行的SQL
character-set-server=utf8                                               #服务端默认字符集
wait_timeout=1800                                                       #请求的最大连接时间
interactive_timeout=1800                                                #和上一参数同时修改才会生效
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES                     #sql模式
log-bin = mysql-bin                                                     #打开二进制功能,MASTER主服务器必须打开此项
relay-log = mysql-bin                                                   #文件名格式
relay-log-index = mysql-bin.index                                       #index文件名
#MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
binlog-format=ROW                                                       #binlog格式
log-slave-updates=true                                                  #表示如果一个MASTER挂掉的话,另外一个马上接管
gtid-mode=on                                                            #用于启动GTID及满足附属的其它需求
enforce-gtid-consistency=true                                           #
report-port=3308                                                       #从属服务器的端口
report-host=10.1.0.60                                                       #从属服务器的主机名
master-info-repository=TABLE                                            #启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能
relay-log-info-repository=TABLE                                         #
sync-master-info=1                                                      #启用之可确保无信息丢失
slave-parallel-workers=2                                                #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32                                                   #
master-verify-checksum=1                                                #
slave-sql-verify-checksum=1                                             #启用复制有关的所有校验功能
binlog-rows-query-log_events=1                                          ###MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率。
expire_logs_day=5                                                       #超过5天的binlog删除
max_binlog_size=104857600
#replicate-ignore-db = mysql                                             #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
#replicate-ignore-db = test
#replicate-ignore-db = zabbix
#replicate-ignore-db = sysbench
#replicate-ignore-db = db_3308
##slave-skip-errors=0                                                   #主从忽略错误数
##注释掉,使用默认设置
#skip-external-locking
##innodb_force_recovery = 1
key_buffer_size = 256M
max_allowed_packet = 100M
#table_open_cache = 1024
#sort_buffer_size = 128M
#net_buffer_length = 8K
#read_buffer_size = 128M
#read_rnd_buffer_size = 256M
#myisam_sort_buffer_size = 32M
#character-set-server = utf8
skip-name-resolve
max_connections = 10000
##慢查询设置
slow-query-log=on
long_query_time = 2
#log-queries-not-using-indexes
##注释掉,使用默认设置
## For InnoDB
innodb_buffer_pool_size = 1G
#innodb_additional_mem_pool_size = 128M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#innodb_file_per_table=1

[mysqldump]
quick
max_allowed_packet = 256M

[mysql]
no-auto-rehash
prompt=\\[email protected]\\d \\R:\\m>
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout
时间: 2024-11-24 06:07:16

Innobackup mysql 多实例环境搭建主从同步的相关文章

mysql多实例实现以及主从同步

未完待续.

mysql真实环境搭建主从

 mysql真实环境搭建主从 防伪码:人之所以能,是相信能. 前言:当今数据库有oracle mysql  SQL Server ACCESS 等等很多种,今天我们来真实环境搭建mysql主从.先说一下四种数据库的区别: 1.四种数据库的区别: ACCESS:功能相对不是那么强大,主要是开发单机版软件中经常用到. SQL Server:是目前应用比较广泛和普遍的一款数据库,是数据库发展的一个里程碑. MySQL:是一个开源的关系数据库管理系统,有快速.可靠和易于使用的特点:MySQL服务器工作在

搭建MySQL代理服务器实现读写分离+主从同步

实验需求: 1.配置2台MySQL服务器(192.168.100.2,192.168.100.3)+1台代理服务器(192.168.100.1),实现MySQL代理的读写分离. 2.用户只需要访问MySQL代理服务器,实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成. 3.2台MySQL服务器实现主从同步,其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询. 一 .MASTER数据库服务器(192.168.100.2)的配置 1.安装软件包(本实验采用My

MySQL master-slave主从复制环境搭建初试

原文:MySQL master-slave主从复制环境搭建初试 环境为centos 7.2+mysql 5.7,网上教程很多,原理也不复杂(深知自己踩的坑还不够) 正常情况下,配置起来比较简单.另外,根据个人感受,MySQL的复制感觉要比SQL Server的复制要清爽很多(尽管功能上可能有一些差异). master服务器,首先是开启了二进制日志,同时设置server-id为一个具体的数值 1,创建复制用户 GRANT REPLICATION SLAVE ON *.* to 'repl_test

Mysql + canal + zookeeper环境搭建

Mysql + canal + zookeeper环境搭建 一.mysql集群搭建 1. mysql基本环境 操作系统: Linux version 2.6.32-431.el6.x86_64 数据库:MySQL Community Server 5.7.20 主节点IP:10.60.81.157 主节点IP:10.60.81.158 从节点IP:10.60.81.159 2. 安装mysql 2.1.官网下载MySQL mysql-5.7.20-1.el6.x86_64.rpm-bundle.

ubuntu 13.04下MYSQL 5.5环境搭建

解决的问题: 安装mysql server和mysql client 5.5 新建远程账户 远程访问权限 MYSQL默认字符集修改为UTF8 检查防火墙 一.安装 BTW:可以使用查找命令查看安装包 sudo apt- 安装命令 sudo apt-get install mysql-server-5.5  回车  (有一个带core的,) sudo apt-get install mysql-client-5.5 然后,输入mysql可查看 二.新建远程账户并赋与权限 grant all pri

promise 对象之 deferred 对象 portal 实例环境搭建

promise 对象之 deferred 对象 portal 实例环境搭建 ---------------------------------------------- 1.什么是脚手架:别人搭建好的环境 下载下来使用 AJAX 并行/串行 promise.all ----------------------------------------------- promise.all 同时请求两个 然后同时返回 如有一个出错 另外一个也出错 ----------------------------

Mysql搭建主从同步

一.1.实验环境:两台服务器搭建主从服务实现同步2.实验拓扑:主服务器HK63(IP:192.168.2.104)---------从服务器HK64(IP:192.168.2.105)3.实验思路:(1).准备两台服务器(2).两台服务器搭建数据库(数据库版本5.1版本)(3).创建要同步的数据库(MA)(4).配置主服务器主配置文件开启二进制日志,从服务器无需开启,重启服务(5).主服务器授权从服务器访问权限(6).从服务器指定主服务器IP地址.用户名.密码.端口号(7).主从服务器均关闭se

mysql生产环境____主从同步修复案例

一.   硬件环境 Master: Dell R720 Intel(R)Xeon(R) CPU E5-2640 v2 @ 2.00GHz MEM 64G.disk 4*2.5 SAS  网络4* 千兆 Slave: Dell R720 Intel(R)Xeon(R) CPU E5-2640 v2 @ 2.00GHz MEM 64G,disk 4*2.5 SAS  网络4* 千兆 二.   软件环境 系统软件: Master: cento5.8 Slave: cento5.8 数据库软件:mysq