mysql數(shù)據(jù)庫(kù)分開(kāi)導(dǎo)出 mysql是我們學(xué)習(xí)過(guò)程中經(jīng)常要用到的數(shù)據(jù)庫(kù),與此同時(shí),如何導(dǎo)出數(shù)據(jù)也是一個(gè)必須要學(xué)習(xí)的技能 工具/原料 mysql Navicat For MySql 連接數(shù)據(jù)庫(kù) 1 雙擊打開(kāi)Navicat,點(diǎn)擊“連接”,在彈出框中輸入連接名(連接名可隨便定義
創(chuàng)新互聯(lián)專(zhuān)注于網(wǎng)站建設(shè)|網(wǎng)站建設(shè)維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋門(mén)簾等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷(xiāo)售的產(chǎn)品,結(jié)合品牌形象的塑造,量身制作品質(zhì)網(wǎng)站。
右擊要分離的數(shù)據(jù)庫(kù) 點(diǎn)擊所有任務(wù)- 分離數(shù)據(jù)庫(kù)即可 在安裝文件的mysql- data下 有兩個(gè)文件夾 就是分離出來(lái)的
但我們仔細(xì)觀察我們會(huì)發(fā)現(xiàn),當(dāng)我們的項(xiàng)目都是用的單體數(shù)據(jù)庫(kù)時(shí),那么就可能會(huì)存在如下問(wèn)題:
為了解決上述提到的兩個(gè)問(wèn)題,我們可以準(zhǔn)備兩 (多) 臺(tái)MySQL,一臺(tái)主( Master )服務(wù)器,一臺(tái)從( Slave )服務(wù)器,主庫(kù)的 數(shù)據(jù)變更 (寫(xiě)、更新、刪除這些操作) ,需要 同步 到從庫(kù)中 (主從復(fù)制) 。而用戶在訪問(wèn)我們項(xiàng)目時(shí),如果是 寫(xiě)操作 (insert、update、delete),則直接操作 主庫(kù) ;如果是 讀操作 (select) ,則直接操作從庫(kù),這種結(jié)構(gòu)就是 讀寫(xiě)分離 啦。
在這種讀寫(xiě)分離的結(jié)構(gòu)中,從庫(kù)是可以有多個(gè)的
MySQL主從復(fù)制是一個(gè) 異步 的復(fù)制過(guò)程,底層是基于Mysql數(shù)據(jù)庫(kù)自帶的 二進(jìn)制日志 功能。就是一臺(tái)或多臺(tái)MySQL數(shù)據(jù)庫(kù)(slave,即 從庫(kù) )從另一臺(tái)MySQL數(shù)據(jù)庫(kù)(master,即 主庫(kù) )進(jìn)行日志的復(fù)制,然后再解析日志并應(yīng)用到自身,最終實(shí)現(xiàn) 從庫(kù) 的數(shù)據(jù)和 主庫(kù) 的數(shù)據(jù)保持一致。MySQL主從復(fù)制是 MySQL數(shù)據(jù)庫(kù)自帶功能,無(wú)需借助第三方工具。
二進(jìn)制日志(BINLOG)記錄了所有的 DDL(數(shù)據(jù)定義語(yǔ)言)語(yǔ)句和 DML(數(shù)據(jù)操縱語(yǔ)言)語(yǔ)句,但是不包括數(shù)據(jù)查詢(xún)語(yǔ)句。此日志對(duì)于災(zāi)難時(shí)的數(shù)據(jù)恢復(fù)起著極其重要的作用,MySQL的主從復(fù)制, 就是通過(guò)該binlog實(shí)現(xiàn)的。默認(rèn)MySQL是未開(kāi)啟該日志的。
在環(huán)境搭建之前,我們需要準(zhǔn)備好兩臺(tái)服務(wù)器,如果生活富裕使用的是兩臺(tái)云服務(wù)器的時(shí)候記得要開(kāi)放安全組,即防火墻;如果是比狗子我生活好點(diǎn)但也是用的虛擬機(jī)的話,記得別分這么多內(nèi)存啟動(dòng)藍(lán)屏了(別問(wèn)怎么知道的)
這里就不給大家展示數(shù)據(jù)庫(kù)的安裝和防火墻的操作了,這個(gè)我感覺(jué)網(wǎng)上好多資源都能夠滿足遇到的問(wèn)題,在搭建主從庫(kù)的時(shí)候有在網(wǎng)上見(jiàn)到過(guò)說(shuō)MySQL版本要一致的,我也沒(méi)太留意直接就在之前的MySQL上操作了,大家可以自己去驗(yàn)證一下。
服務(wù)器:192.168.150.100(別試了黑不了的,這是虛擬機(jī)的ip)
這里有三個(gè)方法都能重啟MySQL,最簡(jiǎn)單的無(wú)疑就是一關(guān)一開(kāi):
登錄進(jìn)去MySQL之后才能夠執(zhí)行下面的命令,因?yàn)檫@是SQL命令,Linux不認(rèn)識(shí)這玩意是啥。
這個(gè)時(shí)候還 不用退出MySQL ,因?yàn)橄旅娴拿钸€是SQL命令,執(zhí)行下面的SQL,可以拿到我們后面需要的兩個(gè)重要參數(shù)。
執(zhí)行完這一句SQL之后,==不要再操作主庫(kù)!不要再操作主庫(kù)!不要再操作主庫(kù)!==重要的事情說(shuō)三遍,因?yàn)樵俨僮髦鲙?kù)之后可能會(huì)導(dǎo)致紅框中的 兩個(gè)屬性值會(huì)發(fā)生變化 ,后面如果發(fā)生了錯(cuò)誤可能就和這里有那么兩毛錢(qián)關(guān)系了。
服務(wù)器:192.168.150.101(別試了黑不了的,這也是虛擬機(jī)的ip)
這里要注意server-id和主庫(kù)以及其他從庫(kù)都不能相同,否則后面將會(huì)配置不成功。
這里有三個(gè)方法都能重啟MySQL,最簡(jiǎn)單的無(wú)疑就是一關(guān)一開(kāi):
登錄進(jìn)去MySQL之后才能夠執(zhí)行下面的命令,因?yàn)檫@是SQL命令
參數(shù)說(shuō)明:
這個(gè)時(shí)候還 不用退出MySQL ,因?yàn)橄旅娴拿钸€是SQL命令,執(zhí)行下面的SQL,可以看到從庫(kù)的狀態(tài)信息。通過(guò)狀態(tài)信息中的 Slave_IO_running 和 Slave_SQL_running 可以看出主從同步是否就緒,如果這兩個(gè)參數(shù)全為 Yes ,表示主從同步已經(jīng)配置完成。
這可能是由于linux 是復(fù)制出來(lái)的,MySQL中還有一個(gè) server_uuid 是一樣的,我們也需要修改。 vim /var/lib/mysql/auto.cnf
這應(yīng)該就是各位大牛設(shè)置server_id的時(shí)候不小心設(shè)置相同的id了,修改過(guò)來(lái)就行,步驟在上面的配置中。
這是狗子在操作過(guò)程中搞出來(lái)的一個(gè)錯(cuò)誤……
出錯(cuò)的原因是在主庫(kù)中刪除了用戶信息,但是在從庫(kù)中同步的時(shí)候失敗導(dǎo)致同步停止,下面記錄自己的操作(是在進(jìn)入MySQL的操作且是從庫(kù))。
在數(shù)據(jù)庫(kù)中操作時(shí),一定要注意當(dāng)前所在的數(shù)據(jù)庫(kù)是哪個(gè),作為一個(gè)良好的實(shí)踐:在SQL語(yǔ)句前加 USE dbname 。
Sharding-JDBC定位為 輕量級(jí)Java框架 ,在Java的JDBC層提供的額外服務(wù)。 它使用客戶端直連數(shù)據(jù)庫(kù),以 jar包 形式提供服務(wù),無(wú)需額外部署和依賴(lài),可理解為增強(qiáng)版的JDBC驅(qū)動(dòng), 完全兼容JDBC和各種ORM框架 。
使用Sharding-JDBC可以在程序中輕松的實(shí)現(xiàn)數(shù)據(jù)庫(kù) 讀寫(xiě)分離 。
Sharding-JDBC具有以下幾個(gè)特點(diǎn):
下面我們將用ShardingJDBC在項(xiàng)目中實(shí)現(xiàn)MySQL的讀寫(xiě)分離。
在pom.xml文件中導(dǎo)入ShardingJDBC的依賴(lài)坐標(biāo)
在application.yml中增加數(shù)據(jù)源的配置
這時(shí)我們就可以對(duì)我們項(xiàng)目中的配置進(jìn)行一個(gè)測(cè)試,下面分別調(diào)用一個(gè)更新接口和一個(gè)查詢(xún)接口,通過(guò)查看日志中記錄的數(shù)據(jù)源來(lái)判斷是否能夠按照我們預(yù)料中的跑。
搞定?。?!程序正常按照我們預(yù)期的成功跑起來(lái)了,成功借助ShardingJDBC在我們項(xiàng)目中實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的讀寫(xiě)分離。
Mysql主從配置,實(shí)現(xiàn)讀寫(xiě)分離
原理:主服務(wù)器(Master)負(fù)責(zé)網(wǎng)站NonQuery操作,從服務(wù)器負(fù)責(zé)Query操作,用戶可以根據(jù)網(wǎng)站功能模特性塊固定訪問(wèn)Slave服務(wù)器,或者自己寫(xiě)個(gè)池或隊(duì)列,自由為請(qǐng)求分配從服務(wù)器連接。主從服務(wù)器利用MySQL的二進(jìn)制日志文件,實(shí)現(xiàn)數(shù)據(jù)同步。二進(jìn)制日志由主服務(wù)器產(chǎn)生,從服務(wù)器響應(yīng)獲取同步數(shù)據(jù)庫(kù)。
具體實(shí)現(xiàn):
1、在主從服務(wù)器上都裝上MySQL數(shù)據(jù)庫(kù),windows系統(tǒng)鄙人安裝的是mysql_5.5.25.msi版本,Ubuntu安裝的是mysql-5.6.22-linux-glibc2.5-i686.tar
windows安裝mysql就不談了,一般地球人都應(yīng)該會(huì)。鄙人稍微說(shuō)一下Ubuntu的MySQL安裝,我建議不要在線下載安裝,還是離線安裝的好。大家可以參考 這位不知道大哥還是姐妹,寫(xiě)的挺好按照這個(gè)就能裝上。在安裝的時(shí)候可能會(huì)出現(xiàn)幾種現(xiàn)象,大家可以參考解決一下:
(1)如果您不是使用root用戶登錄,建議 su - root 切換到Root用戶安裝,那就不用老是 sudo 了。
(2)存放解壓的mysql 文件夾,文件夾名字最好改成mysql
(3)在./support-files/mysql.server start 啟動(dòng)MySQL的時(shí)候,可能會(huì)出現(xiàn)一個(gè)警告,中文意思是啟動(dòng)服務(wù)運(yùn)行讀文件時(shí),忽略了my.cnf文件,那是因?yàn)閙y.cnf的文件權(quán)限有問(wèn)題,mysql會(huì)認(rèn)為該文件有危險(xiǎn)不會(huì)執(zhí)行。但是mysql還會(huì)啟動(dòng)成功,但如果下面配置從服務(wù)器參數(shù)修改my.cnf文件的時(shí)候,你會(huì)發(fā)現(xiàn)文件改過(guò)了,但是重啟服務(wù)時(shí),修改過(guò)后的配置沒(méi)有執(zhí)行,而且您 list一下mysql的文件夾下會(huì)發(fā)現(xiàn)很多.my.cnf.swp等中間文件。這都是因?yàn)镸ySQL啟動(dòng)時(shí)沒(méi)有讀取my.cnf的原因。這時(shí)只要將my.cnf的文件權(quán)限改成my_new.cnf的權(quán)限一樣就Ok,命令:chmod 644 my.cnf就Ok
(4)Ubuntu中修改文檔內(nèi)容沒(méi)有Vim,最好把Vim 裝上,apt-get install vim,不然估計(jì)會(huì)抓狂。
這時(shí)候我相信MySQL應(yīng)該安裝上去了。
2、配置Master主服務(wù)器
(1)在Master MySQL上創(chuàng)建一個(gè)用戶‘repl’,并允許其他Slave服務(wù)器可以通過(guò)遠(yuǎn)程訪問(wèn)Master,通過(guò)該用戶讀取二進(jìn)制日志,實(shí)現(xiàn)數(shù)據(jù)同步。
進(jìn)入對(duì)象資源管理器,選中要分離的數(shù)據(jù)庫(kù),右鍵-任務(wù)-分離;
附加也一樣,右鍵數(shù)據(jù)庫(kù)根節(jié)點(diǎn)-附加,然后根據(jù)向?qū)б徊讲阶呔托?/p>
文章名稱(chēng):怎么分離mysql數(shù)據(jù)庫(kù) sql數(shù)據(jù)庫(kù)怎么分離數(shù)據(jù)庫(kù)
URL標(biāo)題:http://jinyejixie.com/article16/dodoogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、外貿(mào)建站、定制網(wǎng)站、網(wǎng)站制作、網(wǎng)站排名、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容