mysql主從配置文件-my.cnf 及錯誤排除

 

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、錯誤:

000

我們知道,要想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用戶,並授權給從數據庫連接使用。

02

檢查網絡是否通暢

[root@localhost ~]# ping -c 4 192.168.48.128 再從服務器上ping主服務器。

QQ截圖20111013104639

分別在主從服務器上檢查防火牆狀態

我們可以直接關閉防火牆

運行命令:[root@localhost ~]# service iptables stop

注意:一次性導入主庫數據量過大,同步時會導致超時,從而同步失敗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章