日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中的replication_mysql中replication的相关问题总结

發布時間:2023/12/2 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中的replication_mysql中replication的相关问题总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,要使用mysql中的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日志文件放哪里了,哈!莫笑哦。

使用linux的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)

一路折騰下來,總算配置好了,其間遇到了些replication配置的問題,逐一解決,甚是欣慰啊。

總結

以上是生活随笔為你收集整理的mysql中的replication_mysql中replication的相关问题总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。