程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 基於mysql replication的成績總結

基於mysql replication的成績總結

編輯:MySQL綜合教程

基於mysql replication的成績總結。本站提示廣大學習愛好者:(基於mysql replication的成績總結)文章只能為提供參考,不一定能成為您想要的結果。以下是基於mysql replication的成績總結正文


接觸replication後,就開端揣摩本身要設置裝備擺設下嘗嘗,雖然湧現了許多成績:經由上彀查材料也好問同窗也好,終究是處理了些.如今就分享下本身的閱歷:
起首的成績是設置裝備擺設master的my.cnf,墨守成規的設置裝備擺設

server-id               = 1 
log_bin                 =mysql-bin 
#log_bin                        = /var/log/mysql/mysql-bin.log 
expire_logs_days        = 10 
max_binlog_size         = 100M 
#binlog_do_db           = include_database_name 
#binlog_ignore_db       = include_database_name 

這裡的設置裝備擺設是裝置書上寫的設置裝備擺設的,本身沒無意識到logbin的成績,因為我的mysql是apt-get主動裝置的所以有些mysql文件也不曉得在哪裡,這就招致後來生成的mysql-bin000001這個日記文件不曉得放哪裡了,糾結了很久,最初用最本的辦法find一下(其時電腦剎時熱了),找了在/var/lib/mysql/這個目次下。

這時候重啟mysql後,檢查status的情形:

mysql> show master status; 
+------------------+----------+--------------+------------------+ 
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | 
+------------------+----------+--------------+------------------+ 
| mysql-bin.000001 |      106 |              |                  | 
+------------------+----------+--------------+------------------+ 
1 row in set (0.00 sec) 

挺好證實日記曾經開起。可是第二次我又差了下發明:

mysql> show master status; 
+------------------+----------+--------------+------------------+ 
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | 
+------------------+----------+--------------+------------------+ 
| mysql-bin.000002 |      106 |              |                  | 
+------------------+----------+--------------+------------------+ 
1 row in set (0.00 sec) 

本來是,當mysql辦事從新啟動一次後,它會主動從新開啟一個日子文件,一切的文件目次都在mysql-bin.index中。

然後是,設置裝備擺設我的slave,因為資本不敷就用了台windows的pc機來測,可是mysql目次下的設置裝備擺設文件很多多少啊,我也分不清晰是用誰人設置裝備擺設,橫豎就在my.ini中將server-id=2。然後重啟mysql辦事,mysqladmin這個敕令來停滯和啟動mysql。然後在應用敕令:

mysql> CHANGE MASTER TO 

    -> MASTER_HOST='10.5.110.234', 

    -> MASTER_USER='replica', 

    -> MASTER_PASSWORD='replica', 

    -> MASTER_LOG_FILE='mysql-bin.000001', 

    -> MASTER_LOG_POS=228; 

Query OK, 0 rows affected (0.01 sec) 

從新啟動slave
啟動後查詢下以後的狀況,讓我糾結了,我的io-thread沒有翻開。start slave io-thread,運轉勝利可是io就是打不開。

然後ping一下辦事器,是可以的。然後我又長途登錄mysql曉得緣由在哪裡了,mysql自己就沒有銜接上主辦事器:

ERROR 2003 (HY000): Can't connect to MySQL server on '10.5.110.234' (111)

在網上查了很久,終究看到一種處理方法讓我馬上高興起來,就是在我的辦事器mysql中的my.cnf設置裝備擺設文件裡

•bind-address           = 127.0.0.1  
把它給注失落便可以了。又從新銜接一次弄定了。

•這個成績剛弄定又湧現一個新的成績,我在主辦事器下面拔出一條數據,成果在slave中檢查到的狀況是如許的。

 Last_Error: Error 'Table 'test.chen' doesn't exist' on query. Default database: 'test'. Query: 'insert into chen values(112,'chen','chen')'

這裡成績很簡略了就是由於從辦事器下面的數據庫沒有這張表,所以檢查下主庫的表show create,再在從庫下面建一個表。弄定……

1 row in set (0.02 sec)

mysql> insert into chen values(1111,'chen','chen');
Query OK, 1 row affected (0.00 sec)

從庫下面的檢查:


mysql> select * from chen;
+------+------+---------+
| id   | name | address |
+------+------+---------+
|  112 | chen | chen    |
| 1111 | chen | chen    |
+------+------+---------+
2 rows in set (0.01 sec)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved