本文目錄一覽:
- 1、我想修改mysql資料庫的名字,可以怎麼修改
- 2、如何快速重命名一個 MySQL 資料庫
- 3、重命名mysql資料庫的五個方法
- 4、如何快速地重命名MySQL資料庫名
- 5、mysql如何修改存儲過程名
我想修改mysql資料庫的名字,可以怎麼修改
1、方法一:重命名所有的表,代碼如下:
CREATE
DATABASE
new_db_name;
RENAME
TABLE
db_name.table1
TO
new_db_name.table1,
db_name.table2
TO
new_db_name.table2;
DROP
DATABASE
db_name;
2、方法二:mysqldump導出數據再導入,代碼如下:
mysqldump
-uxxxx
-pxxxx
-h
xxxx
db_name
db_name_dump.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」
3、方法三:使用shell腳本重命名所有的表,代碼如下:
#!/bin/bash
mysqlconn=」mysql
-u
xxxx
-pxxxx
-S
/var/lib/mysql/mysql.sock
-h
localhost」
olddb=」db_name」
newdb=」new_db_name」
#$mysqlconn
-e
「CREATE
DATABASE
$newdb」
params=$($mysqlconn
-N
-e
「SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_schema=’$olddb’」)
for
name
in
$params;
do
$mysqlconn
-e
「RENAME
TABLE
$olddb.$name
to
$newdb.$name」;
done;
#$mysqlconn
-e
「DROP
DATABASE
$olddb」
如何快速重命名一個 MySQL 資料庫
一、未使用的資料庫 改名方法如下:1、未使用的資料庫改名比較方便,找到你要更改的資料庫,右鍵選擇【重命名】。2、然後將你想要更改的名字寫好,然後點擊一下旁邊的空白欄。3、然後你就發現資料庫的名稱已經改好了。二、使用中的資料庫改名方法如下:1、使用中的資料庫你在使用這種方法顯然是不合適,你用這種方法更改資料庫的名字之後會提示你無法重命名資料庫。2、這時還是同樣的右鍵你要改名的資料庫,選擇【屬性】按鈕。3、然後在資料庫屬性左側菜單欄中選擇【選項】按鈕。4、然後在【狀態】欄目下有一項限制訪問選項,默認的是MULTI_USER,意為多用戶模式,然後你將其更改為【SINGLE_USER】單用戶模式,點擊確定即可。5、然後你在使用上面的方法更改資料庫的名稱會發現資料庫改名成功了。
重命名mysql資料庫的五個方法
五個改mysql資料庫名的方法:
1.
RENAME
DATABASE
db_name
TO
new_db_name
這個。。這個語法在mysql
5.1.7中被添加進來,到了5.1.23又去掉了。據說有可能丟失數據。還是不要用的好。詳見:
2.如果所有表都是MyISAM類型的話,可以改文件夾的名字
關閉mysqld
把data目錄中的db_name目錄重命名為new_db_name
開啟mysqld
3.重命名所有的表
CREATE
DATABASE
new_db_name;
RENAME
TABLE
db_name.table1
TO
new_db_name.table1,
db_name.table2
TO
new_db_name.table2;
DROP
DATABASE
db_name;
4.
mysqldump導出數據再導入
mysqldump
-uxxxx
-pxxxx
-h
xxxx
db_name
db_name_dump.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」
5.使用Shell腳本重命名所有的表
#!/bin/bash
mysqlconn=」mysql
-u
xxxx
-pxxxx
-S
/var/lib/mysql/mysql.sock
-h
localhost」
olddb=」db_name」
newdb=」new_db_name」
#$mysqlconn
-e
「CREATE
DATABASE
$newdb」
params=$($mysqlconn
-N
-e
「SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_schema=』$olddb』」)
for
name
in
$params;
do
$mysqlconn
-e
「RENAME
TABLE
$olddb.$name
to
$newdb.$name」;
done;
#$mysqlconn
-e
「DROP
DATABASE
$olddb」
就是方法3的優化版。
如何快速地重命名MySQL資料庫名
被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對資料庫改名,可能由於實現的功能不完備(比如,這條命令可能是一個超大的事務,或者是由於之前的表很多還是 MyISAM 等),後來的版本直接取消了這條命令。更改資料庫名大致上有以下幾種方案:
一、mysqldump 導入導出要說最簡單的方法,就是直接用 mysqldump 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導出(包含的對象:表、視圖、觸發器、事件、存儲過程、存儲函數)
二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那麼順滑,不能一步到位。比如,要把資料庫 yttdb_old 改名為 yttdb_new,如果資料庫 yttdb_old 里只有磁碟表,那很簡單,直接改名即可。或者寫個腳本來批量改,非常簡單。但是一般舊庫里不只有磁碟表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導出來,完了在逐一改完表名後導進去。
三、歷史方案其實在 MySQL 早期還有一種方法。假設 MySQL 部署好了後,所有的 binlog 都有備份,並且二進位日誌格式還是 statement 的話,那就可以簡單搭建一台從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉陞從機為主機即可。這裡只需要從機配置一個參數來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old-yttdb_new不過這種局限性很大,不具備標準化,不推薦。
總結其實針對 MySQL 本身改庫名,大致就這麼幾種方法:
如果數據量小,推薦第一種;
數據量大,則推薦第二種;
數據量巨大,那就非 MySQL 本身能解決的了。
可通過部署第三方 ETL 工具,通過解析 MySQL 二進位日誌或其他的方式來把舊庫數據直接讀取到新庫達到改名的目的等等。
mysql如何修改存儲過程名
存儲過程重命名:sp_rename ‘oldProc’,’newProc’,’object’
實際上只要了解了sp_rename 就行了,至於參數要根據你重命名的對象有關
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291055.html