mysql怎么更換數(shù)據(jù)庫(kù) mysql換電腦怎樣轉(zhuǎn)移數(shù)據(jù)庫(kù)

怎樣在mysql里面修改數(shù)據(jù)庫(kù)名稱?

被取消的命令MySQL 之前提供了一個(gè) rename database db_old to db_new 的命令來(lái)直接對(duì)數(shù)據(jù)庫(kù)改名,可能由于實(shí)現(xiàn)的功能不完備(比如,這條命令可能是一個(gè)超大的事務(wù),或者是由于之前的表很多還是 MyISAM 等),后來(lái)的版本直接取消了這條命令。更改數(shù)據(jù)庫(kù)名大致上有以下幾種方案:

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的大寧網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一、mysqldump 導(dǎo)入導(dǎo)出要說(shuō)最簡(jiǎn)單的方法,就是直接用 mysqldump 工具,在舊庫(kù)導(dǎo)出再往新庫(kù)導(dǎo)入(最原始、最慢、最容易想到)的方法:舊庫(kù) yttdb_old 導(dǎo)出(包含的對(duì)象:表、視圖、觸發(fā)器、事件、存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù))

二、改整庫(kù)的表名利用 MySQL 更改表名的方法來(lái)批量把舊庫(kù)的所有表依次遍歷,改名為新庫(kù)的表。這種方法比第一種要快很多倍,但是沒(méi)有第一步操作起來(lái)那么順滑,不能一步到位。比如,要把數(shù)據(jù)庫(kù) yttdb_old 改名為 yttdb_new,如果數(shù)據(jù)庫(kù) yttdb_old 里只有磁盤表,那很簡(jiǎn)單,直接改名即可。或者寫個(gè)腳本來(lái)批量改,非常簡(jiǎn)單。但是一般舊庫(kù)里不只有磁盤表,還包含其他各種對(duì)象。這時(shí)候可以先考慮把舊庫(kù)的各種對(duì)象導(dǎo)出來(lái),完了在逐一改完表名后導(dǎo)進(jìn)去。

三、歷史方案其實(shí)在 MySQL 早期還有一種方法。假設(shè) MySQL 部署好了后,所有的 binlog 都有備份,并且二進(jìn)制日志格式還是 statement 的話,那就可以簡(jiǎn)單搭建一臺(tái)從機(jī),讓它慢慢追主機(jī)到新的庫(kù)名,等確切要更改舊庫(kù)的時(shí)候,再直接晉升從機(jī)為主機(jī)即可。這里只需要從機(jī)配置一個(gè)參數(shù)來(lái)把舊庫(kù)指向?yàn)樾聨?kù):replicate-rewrite-db=yttdb_old-yttdb_new不過(guò)這種局限性很大,不具備標(biāo)準(zhǔn)化,不推薦。

總結(jié)其實(shí)針對(duì) MySQL 本身改庫(kù)名,大致就這么幾種方法:

如果數(shù)據(jù)量小,推薦第一種;

數(shù)據(jù)量大,則推薦第二種;

數(shù)據(jù)量巨大,那就非 MySQL 本身能解決的了。

可通過(guò)部署第三方 ETL 工具,通過(guò)解析 MySQL 二進(jìn)制日志或其他的方式來(lái)把舊庫(kù)數(shù)據(jù)直接讀取到新庫(kù)達(dá)到改名的目的等等。

如何更換mysql數(shù)據(jù)庫(kù)?

你空間里應(yīng)該會(huì)有phpmyadmin或者其他工具,用這些工具把數(shù)據(jù)庫(kù)Q1備份下來(lái)就好了,轉(zhuǎn)移到空間B的時(shí)候 數(shù)據(jù)庫(kù)名稱仍然為Q1,只是將備份下來(lái)的數(shù)據(jù)庫(kù)上傳上去就可以了!工具里面有導(dǎo)入導(dǎo)出,如果是用命令,mysqldump是導(dǎo)出命令

求采納

怎么給 mysql 增加從機(jī)器或是切換數(shù)據(jù)庫(kù)

增加機(jī)器可以這樣做,寫入操作唯一一臺(tái)mysql,其他N臺(tái)對(duì)這臺(tái)mysql主從同步,這樣就能把查詢的操作分?jǐn)偟絅臺(tái)mysql上。

切換的其中一種做法:

1、原mysql為A,新mysql為B

2、A主,B從,B只查

3、代碼里面寫host指向A

4、A、B同步完成后開(kāi)始切換

5、A、B配一樣的權(quán)限

6、把代碼指向A的host改為指向B

7、這就可以把A關(guān)了,現(xiàn)在都在讀寫B(tài)

如何修改MySQL數(shù)據(jù)庫(kù)名稱

修改MySQL數(shù)據(jù)庫(kù)名稱的方法如下:

1.語(yǔ)句修改法:

RENAME DATABASE db_name TO new_db_name

這個(gè)語(yǔ)法在mysql 5.1.7中被添加進(jìn)來(lái),到了5.1.23又去掉了。

2.如果所有表都是MyISAM類型的話,可以改文件夾的名字

把data目錄中的db_name目錄重命名為new_db_name

3.重命名所有的表

代碼如下:

4. mysqldump導(dǎo)出數(shù)據(jù)再導(dǎo)入

代碼如下:

5.使用shell腳本重命名所有的表

代碼如下:

怎么修改默認(rèn)MYSQL數(shù)據(jù)庫(kù)data存放位置?

一、停止MySQL

開(kāi)始-cmd

netstopmysql5

二、復(fù)制原來(lái)數(shù)據(jù)庫(kù)目錄到新目錄

1、復(fù)制C:\ProgramData\MySQL\MySQLServer5.5\中的data目錄到

D:\ProgramFiles\MySQL\MySQLServer5.5\目錄下(自建的目錄)

三,修改MySQL配置文件

1、用記事本打開(kāi)C:\ProgramData\MySQL\MySQLServer5.5\data\目錄下的my.ini

找到datadir="C:\ProgramData\MySQL\MySQLServer5.5\data"

在前面加#注釋掉

在下面添加一行

datadir="D:\ProgramFiles\MySQL\MySQLServer5.5\data"

修改完成后,保存退出。

四、重新啟動(dòng)MySQL

1、開(kāi)始-cmd

netstartmysql5

2、進(jìn)入MySQL控制臺(tái)

開(kāi)始-所有程序-MySQL-MySQLServer5.5-MySQL5.5CommandLineClient

提示輸入MySQLroot賬號(hào)的密碼,輸入之后回車,進(jìn)入MySQL控制臺(tái)

showvariableslike’%datadir%’;?#查詢MySQL數(shù)據(jù)庫(kù)存放目錄

如查詢顯示為D:\ProgramFiles\MySQL\MySQLServer5.5\data\即表示修改成功!

如何遷移MySQL數(shù)據(jù)庫(kù)

caching_sha2_password認(rèn)證插件提供更多的密碼加密方式,并且在加密方面具有更好的表現(xiàn),目前MySQL?8.0選用caching_sha2_password作為默認(rèn)的認(rèn)證插件,MySQL?5.7的認(rèn)證插件是MySQL_native_password。如果客戶端版本過(guò)低,會(huì)造成無(wú)法識(shí)別MySQL?8.0的加密認(rèn)證方式,最終導(dǎo)致連接問(wèn)題。

MySQL存儲(chǔ)引擎現(xiàn)在負(fù)責(zé)提供自己的分區(qū)處理程序,而MySQL服務(wù)器不再提供通用分區(qū)支持,InnoDB和NDB是唯一提供MySQL?8.0支持的本地分區(qū)處理程序的存儲(chǔ)引擎。?如果分區(qū)表用的是別的存儲(chǔ)引擎,存儲(chǔ)引擎必須進(jìn)行修改。要么將其轉(zhuǎn)換為InnoDB或NDB,要么刪除其分區(qū)。通過(guò)MySQLdump從5.7獲取的備份文件,在導(dǎo)入到8.0環(huán)境前,需要確保創(chuàng)建分區(qū)表語(yǔ)句中指定的存儲(chǔ)引擎必須支持分區(qū),否則會(huì)報(bào)錯(cuò)。

MySQL?8.0的默認(rèn)字符集utf8mb4,可能會(huì)導(dǎo)致之前數(shù)據(jù)的字符集跟新建對(duì)象的字符集不一致,為了避免新舊對(duì)象字符集不一致的情況,可以在配置文件將字符集和校驗(yàn)規(guī)則設(shè)置為舊版本的字符集和校驗(yàn)規(guī)則。

MySQL?8.0啟動(dòng)使用的lower_case_table_names值必須跟初始化時(shí)使用的一致。使用不同的設(shè)置重新啟動(dòng)服務(wù)器會(huì)引入與標(biāo)識(shí)符的排序和比較方式不一致的問(wèn)題。

lower_case_table_names?

要避免MySQL?8.0上的啟動(dòng)失敗,MySQL配置文件中的sql_mode系統(tǒng)變量不能包含NO_AUTO_CREATE_USER。

從MySQL?5.7.24和MySQL?8.0.13開(kāi)始,MySQLdump從存儲(chǔ)程序定義中刪除了NO_AUTO_CREATE_USER。必須手動(dòng)修改使用早期版本的MySQLdump創(chuàng)建的轉(zhuǎn)儲(chǔ)文件,以刪除NO_AUTO_CREATE_USER。

在MySQL?8.0.11中,刪除了這些不推薦使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。從5.7到8.0的復(fù)制場(chǎng)景中,如果語(yǔ)句使用到廢棄的SQL Mode會(huì)導(dǎo)致復(fù)制異常。

在執(zhí)行到MySQL?8.0.3或更高版本的in-place升級(jí)時(shí),BACKUP_ADMIN權(quán)限自動(dòng)授予具有RELOAD權(quán)限的用戶。

本文對(duì)MySQL 5.7到MySQL 8.0的升級(jí)過(guò)程中出現(xiàn)部分易出現(xiàn)問(wèn)題進(jìn)行整理:升級(jí)對(duì)MySQL版本的要求、升級(jí)都做了哪些內(nèi)容、數(shù)據(jù)庫(kù)升級(jí)做了哪些步驟以及注意事項(xiàng),希望對(duì)大家版本升級(jí)有幫助。

分享題目:mysql怎么更換數(shù)據(jù)庫(kù) mysql換電腦怎樣轉(zhuǎn)移數(shù)據(jù)庫(kù)
URL標(biāo)題:http://muchs.cn/article14/hjcege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、外貿(mào)建站關(guān)鍵詞優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司定制開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(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)

網(wǎng)站托管運(yùn)營(yíng)