目錄
- MySQL數(shù)據(jù)庫(kù)重命名的方法
- 第一種方法:rename database 棄用了
- 第二種方法:mysqldump 備份
- 第三種方法:快速且安全 遍歷 rename table
- Mysql:使用Navicat實(shí)現(xiàn)定時(shí)備份
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)步驟
打開(kāi)navicat點(diǎn)擊計(jì)劃
點(diǎn)擊新建批處理作業(yè)

選擇要備份的數(shù)據(jù)庫(kù)

點(diǎn)擊選擇并保存

點(diǎn)擊上方工具條中設(shè)置計(jì)劃任務(wù)

點(diǎn)擊計(jì)劃,點(diǎn)擊新建,設(shè)置執(zhí)行的時(shí)間


設(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)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL 重命名表的操作方法及注意事項(xiàng)
- mysql事件之修改事件(ALTER EVENT)、禁用事件(DISABLE)、啟用事件(ENABLE)、事件重命名及數(shù)據(jù)庫(kù)事件遷移操作詳解
- 詳解MYSQL中重命名procedure的一種方法
- MySQL中使用SQL語(yǔ)句對(duì)字段進(jìn)行重命名
- mysql數(shù)據(jù)庫(kù)重命名語(yǔ)句分享
- 教你怎么用Python操作MySql數(shù)據(jù)庫(kù)
- 用python開(kāi)發(fā)一款操作MySQL的小工具
- Python基礎(chǔ)之操作MySQL數(shù)據(jù)庫(kù)
- Python聊天室?guī)Ы缑鎸?shí)現(xiàn)的示例代碼(tkinter,Mysql,Treading,socket)
- Python操作MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單步驟分享
- Python使用sql語(yǔ)句對(duì)mysql數(shù)據(jù)庫(kù)多條件模糊查詢(xún)的思路詳解
- Python中tkinter+MySQL實(shí)現(xiàn)增刪改查
- 運(yùn)用Python快速的對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行重命名