同一机器多实例主从备份

    一,配置从服务器多实例:

    1、创建新的mysql实例数据存储目录:
    mkdir -p /data/mysql_33189
    2、把my.cnf配置文件复制一份,开几个端口要复制几份。
    cp /etc/my.cnf /data/mysql_33189/my.cnf
    3、修改/data/mysql_33189/my.cnf文件。
    [client]
    port = 33189
    socket = /data/mysql/mysql_33189/mysql.sock
    [mysql]
    no-auto-rehash
    [mysqld]
    user = mysql
    port = 33189
    socket = /data/mysql/mysql_33189/mysql.sock
    basedir = /usr/
    datadir = /data/mysql/mysql_33189/data/
    binlog-ignore-db=mysql
    binlog-ignore-db=performance_schema
    open_files_limit = 1024
    back_log = 600
    max_connections = 800
    #max_connect_errors = 3000
    #table_cache = 614
    #external-locking = FALSE
    #max_allowed_packet =8M
    #sort_buffer_size = 1M
    #join_buffer_size = 1M
    #thread_cache_size = 100
    #thread_concurrency = 2
    #query_cache_size = 2M
    #query_cache_limit = 1M
    #query_cache_min_res_unit = 2k
    #default_table_type = InnoDB
    #thread_stack = 192K
    #transaction_isolation = READ-COMMITTED
    #tmp_table_size = 2M
    #max_heap_table_size = 2M
    #long_query_time = 1
    #log_long_format
    #log-error = /data/3306/error.log
    #log-slow-queries = /data/3306/slow.log
    pid-file = /data/mysql/mysql_33189/mysql.pid
    log-bin = /data/mysql/mysql_33189/mysql-bin
    relay-log = /data/mysql/mysql_33189/relay-bin
    relay-log-info-file = /data/mysql/mysql_33189/relay-log.info
    #binlog_cache_size = 1M
    #max_binlog_cache_size = 1M
    #max_binlog_size = 2M
    #expire_logs_days = 7
    #key_buffer_size = 16M
    #read_buffer_size = 1M
    #read_rnd_buffer_size = 1M
    #bulk_insert_buffer_size = 1M
    #myisam_sort_buffer_size = 1M
    #myisam_max_sort_file_size = 10G
    #myisam_max_extra_sort_file_size = 10G
    #myisam_repair_threads = 1
    #myisam_recover
    #lower_case_table_names = 1
    #skip-name-resolve
    #slave-skip-errors = 1032,1062
    #replicate-ignore-db=mysql
    server-id = 33189
    #innodb_additional_mem_pool_size = 4M
    #innodb_buffer_pool_size = 32M
    #innodb_data_file_path = ibdata1:128M:autoextend
    #innodb_file_io_threads = 4
    #innodb_thread_concurrency = 8
    #innodb_flush_log_at_trx_commit = 2
    #innodb_log_buffer_size = 2M
    #innodb_log_file_size = 4M
    #innodb_log_files_in_group = 3
    #innodb_max_dirty_pages_pct = 90
    #innodb_lock_wait_timeout = 120
    #innodb_file_per_table = 0
    #[mysqldump]
    #quick
    #max_allowed_packet = 2M
    [mysqld_safe]
    log-error=/data/mysql/mysql_33189/mysql.err
    pid-file=/data/mysql/mysql_33189/mysqld.pid

    4、初始化数据库:
    /usr/bin/mysql_install_db --defaults-file=/data/mysql/mysql_33189/my.cnf
    mysql是yum安装的,所以basedir=/usr就可以,它会自动在/usr下找mysql的安装目录。
    如果是源码包编译安装的mysql,假如安装路径是在/usr/local/mysql
    cd /usr/local/mysql/scripts/
    ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_33189 --user=mysql

    5、启动mysql,要指定.cnf文件启动
    mysqld_safe --defaults-file=/data/mysql/mysql_33189/my.cnf --user=mysql &
    6、停止MYSQL,需要指定对应的sock文件。
    mysqladmin -uroot -S /data/mysql/mysql_33189/mysql_33189.sock shutdown
    7、登陆3307端口的mysql
    mysql -S data/mysql/mysql_33189/mysql_33189.sock -P 3307

    二,配置主从复制:
    1.数据库授权
    GRANT REPLICATION SLAVE ON *.* to 'root'@'slave_ip' identified by 'mima';

    2.停数据库,导数据,保持两边数据一致性。

    3.修改配置文件:
    修改主my.cnf
    [mysqld]
    log-bin=mysql-bin
    server-id=30131
    binlog-ignore-db=mysql

    修改从my.cnf
    [mysqld]
    log-bin=mysql-bin
    server-id=33131

    4.查看master状态,记住log文件和pos值
    show master status;

    5.配置并启动slave
    change master to master_host='10.51.232.189',
    master_user='root',master_password='mima',
    master_log_file='mysql-bin.000001',
    master_log_pos=245;

    start slave;

    6.查看从服务器复制状态
    show slave status\G

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yess
    即表示成功

    常见错误:
    [ERROR] mysqld: File '/data/mysql/mysql_33104/mysql-bin.index' not found (Errcode: 13)
    文件夹权限问题
    chown -R mysql folder

    转载请注明:崔之龙–运维小崔的个人博客 » 同一机器多实例主从备份

    喜欢 2
标签: , , ,

还没有人抢沙发呢~