同一机器多实例主从备份
一,配置从服务器多实例:
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
转载请注明:崔之龙–运维小崔的个人博客 » 同一机器多实例主从备份
还没有人抢沙发呢~