mysql全表重命名备份_MySQL数据库重命名的快速且安全方法(3种)
MySQL數據庫重命名的方法
Innodb引擎的表如何改數據庫名,MyISAM引擎又該如何操作。
如果表是MyISAM引擎可以直接去到數據庫目錄mv重命名文件夾就可以。 Innodb完全不行,會提示相關表不存在。
第一種方法:rename database 棄用了
RENAME database old_db_name TO new_db_name
這個是5.1.7到5.1.23版本可以用的,但是官方不推薦,會有丟失數據的危險
第二種方法:mysqldump 備份
1.創建需要改成新名的數據庫。
2.mysqldum 導出要改名的數據庫
3.刪除原來的舊庫(確定是否真的需要)
當然這種方法雖然安全,但是如果數據量大,會比較耗時
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
我這里就用一個腳本,很簡單,相信大家都看的懂
#!/bin/bash
# 假設將db_name數據庫名改為new_db_name
# MyISAM直接更改數據庫目錄下的文件即可
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,改表名的命令,但是如果新表名后面加數據庫名,就會將老數據庫的表移動到新的數據庫,所以,這種方法即安全,又快速。
最后附rename用法
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
當你執行 RENAME 時,你不能有任何鎖定的表或活動的事務。你同樣也必須有對原初表的 ALTER 和 DROP 權限,以及對新表的 CREATE 和 INSERT 權限。
如果在多表更名中,MySQL 遭遇到任何錯誤,它將對所有被更名的表進行倒退更名,將每件事物退回到最初狀態。
Mysql:使用Navicat實現定時備份
一、功能描述
需實現每天將數據庫中數據備份,若出現問可及時還原備份;
二、實現步驟
打開navicat點擊計劃
點擊新建批處理作業
選擇要備份的數據庫
點擊選擇并保存
點擊上方工具條中設置計劃任務
點擊計劃,點擊新建,設置執行的時間
設置成功,數據默認備份在C:UsersAdministratorDocumentsNavicatMySQLservers中;
在navicat中點擊備份也可看到,點擊選中備份文件即可還原備份;
認備份在C:UsersAdministratorDocumentsNavicatMySQLservers中;
在navicat中點擊備份也可看到,點擊選中備份文件即可還原備份;
到此這篇關于MySQL數據庫重命名的快速且安全方法(3種)的文章就介紹到這了,更多相關MySQL數據庫重命名內容請搜索云海天教程以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持云海天教程!
總結
以上是生活随笔為你收集整理的mysql全表重命名备份_MySQL数据库重命名的快速且安全方法(3种)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python验证猜想之类的例子_pyt
- 下一篇: mysql有nvarchar类型_mys