當前位置:首頁 » 操作系統 » mysql修改資料庫名

mysql修改資料庫名

發布時間: 2022-09-13 19:51:19

A. 如何修改Mysql資料庫名稱

修改MySQL資料庫名稱的方法如下:

1.語句修改法:

RENAME DATABASE db_name TO new_db_name
這個語法在mysql 5.1.7中被添加進來,到了5.1.23又去掉了。

2.如果所有表都是MyISAM類型的話,可以改文件夾的名字
把data目錄中的db_name目錄重命名為new_db_name


3.重命名所有的表
代碼如下:

B. 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;

C. 如何修改MySQL資料庫名稱

最安全的做法是進入到mysql安裝目錄,修改庫名。
比如是默認安裝的,那麼位置在/var/lib/mysql/目錄下;目錄下的所有目錄都是庫名,直接用mv更改就可以;
提示: 如果進入mysql用命令改會發生未知錯誤的,而且新版本也不支持這種改法了!

D. 如何使用命令修改MySQL資料庫名

今天接到宇航同學的問題,他們老大要求更改資料庫名稱,居然是為了資料庫安全???我靠!真強的想法啊。因為他們的資料庫是採用的INNODB存儲引擎,不能直接修改資料庫的名稱,所以現轉換成MyISAM存儲引擎在修改表名在轉換成INNODB存儲引擎就好了,雖然過程比較麻煩,不如修改表名那樣容易,但是能修改就偷笑吧。我個人認為資料庫的名稱屬於資料庫設計范疇,應該遵守設計規范,不能隨便的修改名稱。第一次聽說為了安全修改資料庫名,實在是不可取。修改名稱詳細步驟(因為不僅僅是上面那幾步)mysql> use dinghao;mysql> select * from t1;+——+———–+| id | name |+——+———–+| 1 | 劉德華 | +——+———–+1 row in set (0.00 sec)mysql> show create table t1;+——-+————————————————————————————————————————-+| Table | Create Table |+——-+————————————————————————————————————————-+| t1 | CREATE TABLE `t1` (`id` int(11) DEFAULT NULL,`name` varchar(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +——-+————————————————————————————————————————-+1 row in set (0.00 sec)mysql> flush tables;Query OK, 0 rows affected (0.00 sec)mysql> flush logs;Query OK, 0 rows affected (0.00 sec)mysql> show processlist; #這一步主要查看有沒有其他進程連接,要保證沒有其他程序操作資料庫。+—-+——+———–+———+———+——-+——-+——————+| Id | User | Host | db | Command | Time | State | Info |+—-+——+———–+———+———+——-+——-+——————+| 17 | root | localhost | dinghao | Query | 0 | NULL | show processlist | +—-+——+———–+———+———+——-+——-+——————+1 rows in set (0.00 sec)mysql> alter table t1 engine=MyISAM;Query OK, 1 row affected (0.01 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> exit[root@mysqludf var]# mv dinghao aaa;mysql> use aaa;Database changedmysql> alter table t1 engine=INNODB;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> select * from t1;+——+———–+| id | name |+——+———–+| 1 | 劉德華 | 站長教學網 eyo.com+——+———–+1 row in set (0.00 sec)注意,在改名之前必須現轉換存儲引擎,否則會報錯,你想換的這個名稱就換不成了,只能換另外一個名稱了。錯誤的方法就不演示了,光記住好的就行了。

E. 我想修改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、方法二:mysqlmp導出數據再導入,代碼如下:
mysqlmp
-uxxxx
-pxxxx
-h
xxxx
db_name
>
db_name_mp.SQL
mysql
-uxxxx
-pxxxx
-h
xxxx
-e
「CREATE
DATABASE
new_db_name」
mysql
-uxxxx
-pxxxx
-h
xxxx
new_db_name
<
db_name_mp.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」

F. mysql能給資料庫改名嗎

被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對資料庫改名,可能由於實現的功能不完備(比如,這條命令可能是一個超大的事務,或者是由於之前的表很多還是 MyISAM 等),後來的版本直接取消了這條命令。更改資料庫名大致上有以下幾種方案:
一、mysqlmp 導入導出要說最簡單的方法,就是直接用 mysqlmp 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導出(包含的對象:表、視圖、觸發器、事件、存儲過程、存儲函數)

二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那麼順滑,不能一步到位。比如,要把資料庫 yttdb_old 改名為 yttdb_new,如果資料庫 yttdb_old 里只有磁碟表,那很簡單,直接改名即可。或者寫個腳本來批量改,非常簡單。但是一般舊庫里不只有磁碟表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導出來,完了在逐一改完表名後導進去。

三、歷史方案其實在 MySQL 早期還有一種方法。假設 MySQL 部署好了後,所有的 binlog 都有備份,並且二進制日誌格式還是 statement 的話,那就可以簡單搭建一台從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉升從機為主機即可。這里只需要從機配置一個參數來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old->yttdb_new不過這種局限性很大,不具備標准化,不推薦。
總結其實針對 MySQL 本身改庫名,大致就這么幾種方法:

  • 如果數據量小,推薦第一種;

  • 數據量大,則推薦第二種;

  • 數據量巨大,那就非 MySQL 本身能解決的了。

  • 可通過部署第三方 ETL 工具,通過解析 MySQL 二進制日誌或其他的方式來把舊庫數據直接讀取到新庫達到改名的目的等等。

G. 如何修改MySQL資料庫名稱

mysql中沒有直接修改資料庫的命令,如果想做可以變相實現,就是用mysqlmp-hip-uusername-ppasswddatabases>D:/back.sql用這個命令備份資料庫,然後創建新的資料庫createdatabasesnew_databases;再上傳備份資料庫mysql-uusername-ppasswdnew_databases<D:/back.sqlok,刪除舊的資料庫就好了

H. mysql如何變更資料庫實例名

常見的主要有三種方法:

  • 如果所有表都是MyISAM類型的話,可以直接修改文件夾的名字。關閉mysql→把data目錄中的db_name目錄重命名為new_db_name→開啟mysql

  • 新建資料庫,在新的資料庫里重命名所有舊資料庫中的表,再刪除舊的資料庫。具體操作命令如下:創建新的資料庫→重命名數據表名稱→刪除舊的資料庫。

    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;

  • 利用mysqlmp命令從舊的數據導出數據,再導入新資料庫。具體操作命令如下:導出數據→創建新的資料庫→導入數據→刪除舊的資料庫。

    mysqlmp -u root -p -h ip db_name > db_name_mp.SQLmysql -u root -p -h ip -e 「CREATE DATABASE new_db_name」mysql -u root -p -h ip new_db_name < db_name_mp.SQLmysql -u root -p -h ip -e 「DROP DATABASE db_name」

I. 如何修改MySQL資料庫名稱

mysql沒有直接修改資料庫名稱的方法,但是可以通過重命名所有的表間接實現
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;

熱點內容
ssd伺服器電腦 發布:2025-05-16 10:26:25 瀏覽:827
水果忍者源碼 發布:2025-05-16 10:26:22 瀏覽:472
python中ord函數 發布:2025-05-16 10:14:25 瀏覽:340
電腦啟動後無法連接伺服器 發布:2025-05-16 10:06:39 瀏覽:984
jar包編譯過程 發布:2025-05-16 10:03:37 瀏覽:679
選舉源碼 發布:2025-05-16 09:58:59 瀏覽:749
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:479
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:195
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:240
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:422