1:MSSQLServer數(shù)據(jù)庫(kù)導(dǎo)入到MySql數(shù)據(jù)庫(kù)

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出樅陽(yáng)免費(fèi)做網(wǎng)站回饋大家。
步驟:
1.安裝mysql數(shù)據(jù)庫(kù)的ODBC驅(qū)動(dòng),mysql-connector-odbc-3.51.23-win32.msi,下載并安裝。
2.在Mysql中創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例。
3.打開(kāi)控制面板 -- 管理工具 -- 數(shù)據(jù)源ODBC,在用戶(hù)DSN中添加一個(gè)MySQL ODBC 3.51數(shù)據(jù)源。
4.在登錄login選項(xiàng)卡中輸入數(shù)據(jù)源名稱(chēng)Data Source Name,此處輸入MysqlDNS(也可以自己隨便命名,只要在后面導(dǎo)入數(shù)據(jù)的時(shí)候選擇正確的數(shù)據(jù)源名字就行);然后輸入服務(wù)器Server,用戶(hù)User,密碼Password,輸入正確后選擇要導(dǎo)入的數(shù)據(jù)庫(kù),Database選擇你需要導(dǎo)入的數(shù)據(jù)庫(kù)。在連接選項(xiàng)connect options中根據(jù)需要設(shè)置MySql使用的端口port和字符集Character Set。
注:字符集一定要和Mysql服務(wù)器相對(duì)應(yīng),如果Mysql使用了gbk字符集,則一定要設(shè)置字符集為gbk,否則導(dǎo)入到Sql Server可能會(huì)出現(xiàn)問(wèn)號(hào)亂碼。
5.打開(kāi)sql server企業(yè)管理器,選擇該數(shù)據(jù)庫(kù),單擊右鍵選擇所有任務(wù) -- 導(dǎo)出數(shù)據(jù)。
6.‘選擇數(shù)據(jù)源’為默認(rèn),‘選擇目的’為剛剛安裝的mySQL數(shù)據(jù)源,用戶(hù)/系統(tǒng)DSN為MysqlDNS。在‘指定表復(fù)制或查詢(xún)’中選擇‘從源數(shù)據(jù)庫(kù)復(fù)制表和視圖’,在‘選擇源表和視圖’里,選擇需要導(dǎo)入的表,即可將數(shù)據(jù)從MSSQLServer數(shù)據(jù)庫(kù)導(dǎo)入到MySql數(shù)據(jù)庫(kù)中。
2:MySql數(shù)據(jù)庫(kù)導(dǎo)入到MSSQL數(shù)據(jù)庫(kù)中
1.安裝mysql數(shù)據(jù)庫(kù)的ODBC驅(qū)動(dòng),mysql-connector-odbc-3.51.19-win32.msi
2.打開(kāi)控制面板\管理工具\(yùn)數(shù)據(jù)源ODBC,在用戶(hù)DSN中添加一個(gè)MySQL ODBC 3.51數(shù)據(jù)源。
3.在登錄login選項(xiàng)卡中輸入數(shù)據(jù)源名稱(chēng)Data Source Name,此處輸入MysqlDNS;然后輸入服務(wù)器,用戶(hù)User,密碼Password,輸入正確后選擇要導(dǎo)入的數(shù)據(jù)庫(kù)。在連接選項(xiàng)connect options中根據(jù)需要設(shè)置MySql使用的端口port和字符集Character Set。
注:字符集一定要和Mysql服務(wù)器相對(duì)應(yīng),如果Mysql使用了gbk字符集,則一定要設(shè)置字符集為gbk,否則導(dǎo)入到Sql 可能會(huì)出現(xiàn)問(wèn)號(hào)亂碼。
4.打開(kāi)sql server企業(yè)管理器,新建一數(shù)據(jù)庫(kù)MySql。選擇該數(shù)據(jù)庫(kù),單擊右鍵選擇所有任務(wù)\導(dǎo)入數(shù)據(jù)。
5.選擇數(shù)據(jù)源為其它(ODBC數(shù)據(jù)源),用戶(hù)/系統(tǒng)DSN為MysqlDNS。其余根據(jù)向?qū)нM(jìn)行,即可將數(shù)據(jù)從MySql數(shù)據(jù)庫(kù)導(dǎo)入到MSSQL數(shù)據(jù)庫(kù)中
mysql主從復(fù)制三種模式:
1、異步復(fù)制:主服務(wù)器將執(zhí)行的事務(wù)發(fā)送到從服務(wù)器,不等待從服務(wù)器的響應(yīng),主服務(wù)器只是將事務(wù)發(fā)送出去;
2、半同步復(fù)制:主服務(wù)器會(huì)等待從服務(wù)器的響應(yīng),當(dāng)主服務(wù)器收到從服務(wù)器的響應(yīng)后,才繼續(xù)執(zhí)行下一個(gè)事務(wù);
3、同步復(fù)制:主服務(wù)器會(huì)等待從服務(wù)器的響應(yīng),主服務(wù)器將事務(wù)發(fā)送到從服務(wù)器后,必須等待從服務(wù)器的響應(yīng),從服務(wù)器確認(rèn)收到事務(wù)后,主服務(wù)器才能繼續(xù)執(zhí)行下一個(gè)事務(wù)。
拓展:MySQL主從復(fù)制模式可以實(shí)現(xiàn)數(shù)據(jù)備份、提高服務(wù)器性能、實(shí)現(xiàn)數(shù)據(jù)安全等功能,是MySQL數(shù)據(jù)庫(kù)系統(tǒng)中常用的一種復(fù)制方式。
項(xiàng)目上 MySQL?還原 SQL 備份經(jīng)常會(huì)碰到一個(gè)錯(cuò)誤如下,且通常出現(xiàn)在導(dǎo)入視圖、函數(shù)、存儲(chǔ)過(guò)程、事件等對(duì)象時(shí),其根本原因就是因?yàn)閷?dǎo)入時(shí)所用賬號(hào)并不具有SUPER 權(quán)限,所以無(wú)法創(chuàng)建其他賬號(hào)的所屬對(duì)象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常見(jiàn)場(chǎng)景:1. 還原 RDS 時(shí)經(jīng)常出現(xiàn),因?yàn)?RDS 不提供 SUPER 權(quán)限;2. 由開(kāi)發(fā)庫(kù)還原到項(xiàng)目現(xiàn)場(chǎng),賬號(hào)權(quán)限等有所不同。
處理方式:
1. 在原庫(kù)中批量修改對(duì)象所有者為導(dǎo)入賬號(hào)或修改?SQL SECURITY?為?Invoker;2. 使用 mysqldump 導(dǎo)出備份,然后將 SQL 文件中的對(duì)象所有者替換為導(dǎo)入賬號(hào)。
二、問(wèn)題原因我們先來(lái)看下為啥會(huì)出現(xiàn)這個(gè)報(bào)錯(cuò),那就得說(shuō)下 MySQL 中一個(gè)很特別的權(quán)限控制機(jī)制,像視圖、函數(shù)、存儲(chǔ)過(guò)程、觸發(fā)器等這些數(shù)據(jù)對(duì)象會(huì)存在一個(gè)?DEFINER?和一個(gè)?SQL SECURITY?的屬性,如下所示:
--視圖定義CREATE?ALGORITHM?=?UNDEFINED?DEFINER?=?`root`@`%`?SQL?SECURITY?DEFINER?VIEW?v_test
--函數(shù)定義CREATE?DEFINER=`root`@`%`?FUNCTION?`f_test()`?RETURNS?varchar(100)?SQL?SECURITY?DEFINER
--存儲(chǔ)過(guò)程定義CREATE?DEFINER=`root`@`%`?PROCEDURE?`p_test`()?SQL?SECURITY?DEFINER
--觸發(fā)器定義CREATE DEFINER=`root`@`%` trigger t_test
--事件定義CREATE DEFINER=`root`@`%` EVENT `e_test`
DEFINER:對(duì)象定義者,在創(chuàng)建對(duì)象時(shí)可以手動(dòng)指定用戶(hù),不指定的話(huà)默認(rèn)為當(dāng)前連接用戶(hù);
SQL SECURITY:指明以誰(shuí)的權(quán)限來(lái)執(zhí)行該對(duì)象,有兩個(gè)選項(xiàng),一個(gè)為?DEFINER,一個(gè)為?INVOKER,默認(rèn)情況下系統(tǒng)指定為 DEFINER;DEFINER:表示按定義者的權(quán)限來(lái)執(zhí)行;?INVOKER:表示按調(diào)用者的權(quán)限來(lái)執(zhí)行。
如果導(dǎo)入賬號(hào)具有 SUPER 權(quán)限,即使對(duì)象的所有者賬號(hào)不存在,也可以導(dǎo)入成功,但是在查詢(xún)對(duì)象時(shí),如果對(duì)象的?SQL SECURITY?為?DEFINER,則會(huì)報(bào)賬號(hào)不存在的報(bào)錯(cuò)。ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist
改寫(xiě)好處:1. 可以避免還原時(shí)遇到 DEFINER 報(bào)錯(cuò)相關(guān)問(wèn)題;2. 根據(jù)輸出信息知道備份是否正常進(jìn)行,防止備份中遇到元數(shù)據(jù)鎖無(wú)法獲取然后一直卡住的情況。
兩種方法:
1、在“SQL Server 配置管理器”中將你的SQL SERVER服務(wù)停止,然后將你安裝數(shù)據(jù)庫(kù)文件中的data文件夾下的 你的數(shù)據(jù)庫(kù)名.mdf和你的數(shù)據(jù)庫(kù)名.ldf文件夾拷給別人,最后拿到該文件的人,直接在mssql2005的“SQL Server Management Studio”工具中,用附加數(shù)據(jù)庫(kù)的方式添加即可。
2、在你電腦上的“SQL Server Management Studio”工具中找到你要用來(lái)傳的數(shù)據(jù)庫(kù)名,在上面點(diǎn)右鍵--任務(wù)--備份數(shù)據(jù)庫(kù)。為其指定一個(gè)目錄后,點(diǎn)保存。之后會(huì)生成一個(gè)文件,你直接將該文件拷貝給你要給的人。拿到這個(gè)備份文件的人,首先要在他電腦的“SQL Server Management Studio”工具中新建一個(gè)空數(shù)據(jù)庫(kù),且該數(shù)據(jù)庫(kù)名要和你電腦上的那個(gè)名稱(chēng)一致,最后在這個(gè)數(shù)據(jù)庫(kù)名上點(diǎn)右鍵--任務(wù)--還原--數(shù)據(jù)庫(kù),選中剛才的那個(gè)備份文件,點(diǎn)確定也可以還原。
文章題目:mysql視圖怎么復(fù)制 mysql有視圖嗎
文章來(lái)源:http://chinadenli.net/article36/hjidpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)