1、主庫大概配置如下:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
log-error = /var/log/mysql_error.log
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 512
sort_buffer_size = 6M
thread_stack = 256K
net_buffer_length = 8K
read_buffer_size = 4M
join_buffer_size = 8M
tmp_table_size = 256M
max_connections = 1000
wait_timeout = 10
query_cache_size = 256M
query_cache_type = 1
thread_cache_size = 64
log_slow_queries
log-queries-not-using-indexes
log_long_format
long_query_time = 2
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 8M
log-bin=mysql-bin
server-id = 1
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
innodb_lock_wait_timeout = 60
innodb_thread_concurrency= 30
innodb_commit_concurrency = 30
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
2、從庫大概配置如下:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
log-error = /var/log/mysql_error.log
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 512
sort_buffer_size = 6M
thread_stack = 256K
net_buffer_length = 8K
read_buffer_size = 4M
join_buffer_size = 8M
tmp_table_size = 256M
max_connections = 1000
wait_timeout = 10
query_cache_size = 256M
query_cache_type = 1
thread_cache_size = 64
log_slow_queries
log-queries-not-using-indexes
log_long_format
long_query_time = 2
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 8M
log-bin=mysql-bin
server-id = 20
master-connect-retry = 60 (需要同步的2個庫如下)
replicate-do-db = xxoo
replicate-do-db = xxoo2
innodb_additional_mem_pool_size = 4M
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
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
3、錯誤:
我們知道,要想mysql主從複製成功的先決條件是Slave_IO_Running和Slave_SQL_Running均爲Yes,而上圖所示的結果顯然是有一個不滿足條件。
再根據Last_IO_Error的錯誤代碼2013及下面的錯誤提示我們可以知道,從數據庫無法正常連接到主數據庫。
這裏原因有三:
1、主數據庫沒有給從數據庫登錄授權
2、網絡不通
3、有防火牆
明白這三點之後我們就可以針對原因依次來解決它們:
登錄主數據庫,給從數據庫授權
[root@localhost ~]# mysql -uroot –p123456 登錄主數據庫
mysql> grant replication slave on *.* to 'backup'@'192.168.48.130' identified by 'backup'; 創建backup用戶,並授權給從數據庫連接使用。
檢查網絡是否通暢
[root@localhost ~]# ping -c 4 192.168.48.128 再從服務器上ping主服務器。
分別在主從服務器上檢查防火牆狀態
我們可以直接關閉防火牆
運行命令:[root@localhost ~]# service iptables stop
注意:一次性導入主庫數據量過大,同步時會導致超時,從而同步失敗。