多主一从配置相关问题
主库配置请参考主从同步配置;
从库my.cnf相关配置:
[client]
#password = your_password
#port = 3306
#socket = /tmp/mysql.sock
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
[mysqld1]
port = 3306
socket = /tmp/mysql1.sock
datadir =/home/mysql/data1
log-error = /home/mysql/logs/mysql1_error.log
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 8
query_cache_size = 8M
tmp_table_size = 16M
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server-id = 20
expire_logs_days = 10
default_storage_engine = InnoDB
innodb_data_home_dir =/home/mysql/data1
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir =/home/mysql/data1
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqld2]
port = 3307
socket =/tmp/mysql2.sock
datadir = /home/mysql/data2
log-error = /home/mysql/logs/mysql2_error.log
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 8
query_cache_size = 8M
tmp_table_size = 16M
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server-id = 40
expire_logs_days = 10
default_storage_engine = InnoDB
innodb_data_home_dir = /home/mysql/data2
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /home/mysql/data2
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
初始化:
mysql1:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data1/ --user=mysql
mysql2:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data2/ --user=mysql
启动:
/usr/local/mysql/bin/mysqld_multi --config-file=/etc/my.cnf start 1-2
或
/usr/local/mysql/bin/mysqld_multi start 1-2
报错:找不到 my_print_defaults,
解决:ln -s /usr/local/mysql/bin/my_print_defaults /usr/bin/
启动后:
lsof -i:3306
lsof -i:3307
两个端口都有mysql在监听的话就表示启动成功了
分别访问mysql实例1,实例2
# /usr/local/mysql/bin/mysql -uroot -p123456 -P3306 -S /tmp/mysql1.sock
# /usr/local/mysql/bin/mysql -uroot -p123456 -P3307 -S /tmp/mysql2.sock
分别访问两个实例,删除多余用户,修改用户密码,修改用户的访问权限