當(dāng)前位置:首頁 >  站長(zhǎng) >  數(shù)據(jù)庫(kù) >  正文

MySQL數(shù)據(jù)庫(kù)重命名的快速且安全方法3種

 2020-12-18 16:33  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)重命名的快速且安全方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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.刪除原來的舊庫(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)問可及時(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)擊選中備份文件即可還原備份;

2020121610115125

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)重命名的快速且安全方法(3種)的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫(kù)重命名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

來源:腳本之家

鏈接: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ī)遇!

相關(guān)標(biāo)簽
mysql

相關(guān)文章

  • MySQL5.7 集群配置的步驟

    這篇文章主要介紹了MySQL5.7集群配置的步驟,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下

    標(biāo)簽:
    mysql
  • MySQL中觸發(fā)器和游標(biāo)的介紹與使用

    這篇文章主要給大家介紹了關(guān)于MySQL中觸發(fā)器和游標(biāo)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

    標(biāo)簽:
    mysql
  • MySQL中exists、in及any的基本用法

    這篇文章主要給大家介紹了關(guān)于MySQL中exists、in及any的基本用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

    標(biāo)簽:
    mysql
  • MySQL正確修改最大連接數(shù)的3種方案

    這篇文章主要給大家介紹了關(guān)于MySQL正確修改最大連接數(shù)的3種方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

    標(biāo)簽:
    mysql
  • 教你怎么在Windows系統(tǒng)上手動(dòng)搭建MySql數(shù)據(jù)庫(kù)

    1.已經(jīng)購(gòu)買好的騰訊云輕量應(yīng)用服務(wù)器。2.作者本次演示使用的系統(tǒng)是WindowsServer2019,其他windows版本也可以,操作流程大同小異。3.使用Windows遠(yuǎn)程桌面連接騰訊云輕量服務(wù)器。

熱門排行

信息推薦