mysql全表重命名备份_MySQL数据库重命名的快速且安全方法(3种)
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ù)據(jù)庫(kù)
點(diǎn)擊選擇并保存
點(diǎn)擊上方工具條中設(shè)置計(jì)劃任務(wù)
點(diǎn)擊計(jì)劃,點(diǎn)擊新建,設(shè)置執(zhí)行的時(shí)間
設(shè)置成功,數(shù)據(jù)默認(rèn)備份在C:UsersAdministratorDocumentsNavicatMySQLservers中;
在navicat中點(diǎn)擊備份也可看到,點(diǎn)擊選中備份文件即可還原備份;
認(rèn)備份在C:UsersAdministratorDocumentsNavicatMySQLservers中;
在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)文章希望大家以后多多支持云海天教程!
總結(jié)
以上是生活随笔為你收集整理的mysql全表重命名备份_MySQL数据库重命名的快速且安全方法(3种)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用python验证猜想之类的例子_pyt
- 下一篇: mysql有nvarchar类型_mys