欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

小記一次mysql主從配置解決方案

 更新時間:2015年10月08日 08:59:22   投稿:hebedich  
mysql主從方案主要作用:讀寫分離,使數(shù)據(jù)庫能支撐更大的并發(fā)。在報表中尤其重要。由于部分報表sql語句非常的慢,導(dǎo)致鎖表,影響前臺服務(wù)。如果前臺使用master,報表使用slave,那么報表sql將不會造成前臺鎖,保證了前臺速度。

  今天研究了個開源項目,數(shù)據(jù)庫是mysql的,其中的腳本數(shù)據(jù)需要備份,由于本人的機器時mac pro,而且mac下的數(shù)據(jù)庫連接工具都不怎么好用,就想著如何利用windows下的數(shù)據(jù)庫連接工具使用,并做相關(guān)備份,另外windows系統(tǒng)下的sqlyog工具還是非常強大的,在此推薦。

  因此為了使用sqlyog等windows系統(tǒng)下的連接工具,便開始了一天的折騰。

  首先兩種思路,其一是利用另外一臺宏碁筆記本電腦,直接在其上安裝sqlyog使用,通過無線局域網(wǎng)進行連接使用,這種方式太過麻煩,而且來回換電腦很麻煩,遠程連接使用也很慢。其二是安裝虛擬機,在虛擬機上安裝連接工具。

  由于本人的mac pro已經(jīng)安裝mysql數(shù)據(jù)庫,并且已經(jīng)安裝了virtualbox虛擬機并安裝了windows7系統(tǒng),并在windows7系統(tǒng)中也安裝了mysql。

  1.在虛擬機win7系統(tǒng)中安裝sqlyog,直接連接mac系統(tǒng)的mysql,并導(dǎo)出備份,這個很簡單。(當(dāng)然要注意虛擬機與mac機器的網(wǎng)絡(luò)連接是通的)

    1)首先要設(shè)置虛擬機網(wǎng)卡設(shè)置,選擇橋接模式,virtualbox這類虛擬機的橋接模式的概念是虛擬機作為網(wǎng)絡(luò)中的一臺單獨的機器,有自己的ip,與局域網(wǎng)中的ip是想通的,

      設(shè)置virtualbox的橋接模式如圖所示

     !

      

這樣按照圖中的設(shè)置,虛擬機根主機就可以相互訪問了。

  2)利用sqlyog進行連接

  

對了 還有一點需要注意的是,由于局域網(wǎng)ip可能不會固定,正好本人用的是小米路由器,有綁定設(shè)備ip的功能,這樣ip就固定啦

從上面的圖中可以看出,主機ip跟虛擬機ip是獨立的啦。

2.mysql主從備份的方式,mac pro為主master,虛擬機為從slave

1)首先由于mac電腦mysql客戶端安裝完成后,默認是沒有my.cnf文件的,即使修改了/usr/local/mysql/的相關(guān)配置也是沒有用的,這就需要自定義mysql配置了,將/usr/local/mysql/support-files/中的my-default.cnf 文件 拷貝到/etc目錄下,當(dāng)然這里也遇見問題了,服務(wù)啟動不了了

這就需要在配置文件中加入explicit_defaults_for_timestamp=true

2)修改配置文件,如下所示

3)修改虛擬機中的mysql目錄中的my.cnf

修改mysqld節(jié)點

4)重啟master及slave并查看狀態(tài)

查看master狀態(tài)

查看slave狀態(tài)

當(dāng)看到上面兩張圖片的時候則證明配置成功,當(dāng)然本人并沒有那么順利,中途遇到了很多問題

其一:Got fatal error 1236 from master when reading data from binary log
這中問題按照網(wǎng)上大部分的解決方法是,首先查看master的狀態(tài),并記錄下相關(guān)信息
比如信息為:


要記錄下file:mysql-bin.000002 position:16093
并在slave中執(zhí)行:

這種方式應(yīng)該是沒有問題的。如果上面這種方式不行,可以試試下面這種,本人試了試應(yīng)該是沒問題,

(這種方式本人可以可能是因為本人配置的時候沒有按照規(guī)范來,導(dǎo)致主從不一致的原因)

其二:Slave can not handle replication events with the checksum that master is configured to log
  這個錯誤一般出現(xiàn)在master5.6,slave在低版本的情況下。這是由于5.6使用了crc32做binlog的checksum。除了把master的設(shè)置從crc32改到none
  binlog-checksum = none [my.cnf]

其三:本人今天花費了大量的時間主要原因便是這點了,本人在虛擬機里查看slave狀態(tài)顯示都正確,

但是本人通過虛擬機的連接工具,將master數(shù)據(jù)庫中添加了一張表并插入數(shù)據(jù),但是總是沒有同步到從mysql,于是查看進程
從mysql進程

master進程

這點問題也就是糾結(jié)了一天的問題,當(dāng)然也沒有找出具體原因,看提示原因貌似是什么進程已經(jīng)睡眠的原因,但是為啥睡眠沒搞明白,查看slave hosts也沒有查到

當(dāng)然最后,沒辦法了,糾結(jié)了很久也沒有發(fā)現(xiàn)什么原因的情況下,本人直接在mac機器上直接通過終端插入數(shù)據(jù),居然成功了。。。無語。。不過最終能夠同步了至少還有點欣慰。至于什么出現(xiàn)這個問題要找時間好好查找原因了。

相關(guān)文章

  • MySQL 5.5主從同步設(shè)置筆記分享

    MySQL 5.5主從同步設(shè)置筆記分享

    這篇文章主要介紹了MySQL 5.5主從同步設(shè)置筆記分享,需要的朋友可以參考下
    2014-05-05
  • 解決Linux安裝mysql 在/etc下沒有my.cnf的問題

    解決Linux安裝mysql 在/etc下沒有my.cnf的問題

    這篇文章主要介紹了解決Linux安裝mysql 在/etc下沒有my.cnf的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 從MySQL復(fù)制功能中得到的一舉三得實惠分析

    從MySQL復(fù)制功能中得到的一舉三得實惠分析

    在MySQL數(shù)據(jù)庫中,支持單項、異步復(fù)制。在復(fù)制過程中,一個服務(wù)器充當(dāng)主服務(wù)器,而另外一臺服務(wù)器充當(dāng)從服務(wù)器。筆者通過MySQL的復(fù)制功能得到了一下實惠,在下文中與大家分享。
    2011-03-03
  • MySQL 存儲過程傳參數(shù)實現(xiàn)where id in(1,2,3,...)示例

    MySQL 存儲過程傳參數(shù)實現(xiàn)where id in(1,2,3,...)示例

    一個MySQL 存儲過程傳參數(shù)的問題想實現(xiàn)例如篩選條件為:where id in(1,2,3,...),下面有個不錯的示例,感興趣的朋友可以參考下
    2013-10-10
  • MySQL語句加鎖的實現(xiàn)分析

    MySQL語句加鎖的實現(xiàn)分析

    MySQL的加鎖分析,一直是一個比較困難的話題。我在工作過程中,經(jīng)常會有同事咨詢這方面的問題。今天我們來簡單談?wù)勥@個問題
    2017-10-10
  • MySQL創(chuàng)建內(nèi)部臨時表的所有場景盤點

    MySQL創(chuàng)建內(nèi)部臨時表的所有場景盤點

    這篇文章主要為大家介紹了MySQL創(chuàng)建內(nèi)部臨時表的所有場景盤點,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • mysql索引覆蓋實例分析

    mysql索引覆蓋實例分析

    這篇文章主要介紹了mysql索引覆蓋,簡單說明了索引覆蓋的概念,并結(jié)合實例形式分析了mysql索引覆蓋的相關(guān)應(yīng)用與操作注意事項,需要的朋友可以參考下
    2019-07-07
  • MySQL SHOW STATUS語句的使用

    MySQL SHOW STATUS語句的使用

    這篇文章主要介紹了MySQL SHOW STATUS語句的使用,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-12-12
  • mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式

    mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式

    這篇文章主要介紹了mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mysql獲得60天前unix時間的方法

    mysql獲得60天前unix時間的方法

    首先根據(jù)now()獲得當(dāng)前時間,使用adddate()方法獲得60天前時間,使用unix_timestamp()方法轉(zhuǎn)換時間類型,需要的朋友可以參考下
    2014-09-09

最新評論