域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)重命名的快速且安全方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
目錄
MySQL數(shù)據(jù)庫(kù)重命名的方法
第一種方法:rename database 棄用了
第二種方法:mysqldump 備份
第三種方法:快速且安全 遍歷 rename table
Mysql:使用Navicat實(shí)現(xiàn)定時(shí)備份
一、功能描述
二、實(shí)現(xiàn)步驟
MySQL數(shù)據(jù)庫(kù)重命名的方法
Innodb引擎的表如何改數(shù)據(jù)庫(kù)名,MyISAM引擎又該如何操作。
如果表是MyISAM引擎可以直接去到數(shù)據(jù)庫(kù)目錄mv重命名文件夾就可以。 Innodb完全不行,會(huì)提示相關(guān)表不存在。
第一種方法:rename database 棄用了
RENAME database old_db_name TO new_db_name
這個(gè)是5.1.7到5.1.23版本可以用的,但是官方不推薦,會(huì)有丟失數(shù)據(jù)的危險(xiǎn)
第二種方法:mysqldump 備份
1.創(chuàng)建需要改成新名的數(shù)據(jù)庫(kù)。
2.mysqldum 導(dǎo)出要改名的數(shù)據(jù)庫(kù)
3.刪除原來(lái)的舊庫(kù)(確定是否真的需要)
當(dāng)然這種方法雖然安全,但是如果數(shù)據(jù)量大,會(huì)比較耗時(shí)
mysqldump -uxxxx -pxxxx -h xxxx db_name > db_name_dump.SQL #備份
mysqldump -uroot -p123456 -h127.0.0.1 test > test.sql #備份
mysql -uxxxx -pxxxx -h xxxx -e “CREATE DATABASE new_db_name”
mysql -uxxxx -pxxxx -h xxxx new_db_name < db_name_dump.SQL #還原
mysql -uxxxx -pxxxx -h xxxx -e “DROP DATABASE db_name”
第三種方法:快速且安全 遍歷 rename table
我這里就用一個(gè)腳本,很簡(jiǎn)單,相信大家都看的懂
#!/bin/bash
# 假設(shè)將db_name數(shù)據(jù)庫(kù)名改為new_db_name
# MyISAM直接更改數(shù)據(jù)庫(kù)目錄下的文件即可
mysql_login=mysql -uroot -p123456
olddb=”db_name”
newdb=”new_db_name”
#$mysql_login -e “CREATE DATABASE $newdb
$mysql_login -e 'create database if not exists $newdb'
list_table=$($mysql_login -Nse "select table_name from information_schema.TABLES
where TABLE_SCHEMA='$olddb'")
for table in $list_table;
do
$mysql_login -e "rename table $olddb.$table to $newdb.$table"
done;
#$mysqlconn -e “DROP DATABASE $olddb”
這里用到了rename table,改表名的命令,但是如果新表名后面加數(shù)據(jù)庫(kù)名,就會(huì)將老數(shù)據(jù)庫(kù)的表移動(dòng)到新的數(shù)據(jù)庫(kù),所以,這種方法即安全,又快速。
最后附rename用法
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
當(dāng)你執(zhí)行 RENAME 時(shí),你不能有任何鎖定的表或活動(dòng)的事務(wù)。你同樣也必須有對(duì)原初表的 ALTER 和 DROP 權(quán)限,以及對(duì)新表的 CREATE 和 INSERT 權(quán)限。
如果在多表更名中,MySQL 遭遇到任何錯(cuò)誤,它將對(duì)所有被更名的表進(jìn)行倒退更名,將每件事物退回到最初狀態(tài)。
Mysql:使用Navicat實(shí)現(xiàn)定時(shí)備份
一、功能描述
需實(shí)現(xiàn)每天將數(shù)據(jù)庫(kù)中數(shù)據(jù)備份,若出現(xiàn)問(wèn)可及時(shí)還原備份;
二、實(shí)現(xiàn)步驟
打開navicat點(diǎn)擊計(jì)劃
點(diǎn)擊新建批處理作業(yè)
設(shè)置成功,數(shù)據(jù)默認(rèn)備份在C:\Users\Administrator\Documents\Navicat\MySQL\servers中;
在navicat中點(diǎn)擊備份也可看到,點(diǎn)擊選中備份文件即可還原備份;
認(rèn)備份在C:\Users\Administrator\Documents\Navicat\MySQL\servers中;
在navicat中點(diǎn)擊備份也可看到,點(diǎn)擊選中備份文件即可還原備份;
到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)重命名的快速且安全方法(3種)的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫(kù)重命名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
來(lái)源:腳本之家
鏈接:https://www.jb51.net/article/202253.htm
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!