常見(jiàn)的主要有三種方法:
成都創(chuàng)新互聯(lián)公司專注于東源網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供東源營(yíng)銷(xiāo)型網(wǎng)站建設(shè),東源網(wǎng)站制作、東源網(wǎng)頁(yè)設(shè)計(jì)、東源網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造東源網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供東源網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
如果所有表都是MyISAM類型的話,可以直接修改文件夾的名字。
關(guān)閉mysql→把data目錄中的db_name目錄重命名為new_db_name→開(kāi)啟mysql
新建數(shù)據(jù)庫(kù),在新的數(shù)據(jù)庫(kù)里重命名所有舊數(shù)據(jù)庫(kù)中的表,再刪除舊的數(shù)據(jù)庫(kù)。具體操作命令如下:創(chuàng)建新的數(shù)據(jù)庫(kù)→重命名數(shù)據(jù)表名稱→刪除舊的數(shù)據(jù)庫(kù)。
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;
利用mysqldump命令從舊的數(shù)據(jù)導(dǎo)出數(shù)據(jù),再導(dǎo)入新數(shù)據(jù)庫(kù)。具體操作命令如下:導(dǎo)出數(shù)據(jù)→創(chuàng)建新的數(shù)據(jù)庫(kù)→導(dǎo)入數(shù)據(jù)→刪除舊的數(shù)據(jù)庫(kù)。
mysqldump -u root -p -h ip db_name db_name_dump.SQL
mysql -u root -p -h ip -e “CREATE DATABASE new_db_name”
mysql -u root -p -h ip new_db_name db_name_dump.SQL
mysql -u root -p -h ip -e “DROP DATABASE db_name”
一、未使用的數(shù)據(jù)庫(kù) 改名方法如下:1、未使用的數(shù)據(jù)庫(kù)改名比較方便,找到你要更改的數(shù)據(jù)庫(kù),右鍵選擇【重命名】。2、然后將你想要更改的名字寫(xiě)好,然后點(diǎn)擊一下旁邊的空白欄。3、然后你就發(fā)現(xiàn)數(shù)據(jù)庫(kù)的名稱已經(jīng)改好了。二、使用中的數(shù)據(jù)庫(kù)改名方法如下:1、使用中的數(shù)據(jù)庫(kù)你在使用這種方法顯然是不合適,你用這種方法更改數(shù)據(jù)庫(kù)的名字之后會(huì)提示你無(wú)法重命名數(shù)據(jù)庫(kù)。2、這時(shí)還是同樣的右鍵你要改名的數(shù)據(jù)庫(kù),選擇【屬性】按鈕。3、然后在數(shù)據(jù)庫(kù)屬性左側(cè)菜單欄中選擇【選項(xiàng)】按鈕。4、然后在【狀態(tài)】欄目下有一項(xiàng)限制訪問(wèn)選項(xiàng),默認(rèn)的是MULTI_USER,意為多用戶模式,然后你將其更改為【SINGLE_USER】單用戶模式,點(diǎn)擊確定即可。5、然后你在使用上面的方法更改數(shù)據(jù)庫(kù)的名稱會(huì)發(fā)現(xiàn)數(shù)據(jù)庫(kù)改名成功了。
今天接到宇航同學(xué)的問(wèn)題,他們老大要求更改數(shù)據(jù)庫(kù)名稱,居然是為了數(shù)據(jù)庫(kù)安全???我靠!真強(qiáng)的想法啊。因?yàn)樗麄兊臄?shù)據(jù)庫(kù)是采用的INNODB存儲(chǔ)引擎,不能直接修改數(shù)據(jù)庫(kù)的名稱,所以現(xiàn)轉(zhuǎn)換成MyISAM存儲(chǔ)引擎在修改表名在轉(zhuǎn)換成INNODB存儲(chǔ)引擎就好了,雖然過(guò)程比較麻煩,不如修改表名那樣容易,但是能修改就偷笑吧。我個(gè)人認(rèn)為數(shù)據(jù)庫(kù)的名稱屬于數(shù)據(jù)庫(kù)設(shè)計(jì)范疇,應(yīng)該遵守設(shè)計(jì)規(guī)范,不能隨便的修改名稱。第一次聽(tīng)說(shuō)為了安全修改數(shù)據(jù)庫(kù)名,實(shí)在是不可取。修改名稱詳細(xì)步驟(因?yàn)椴粌H僅是上面那幾步)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; #這一步主要查看有沒(méi)有其他進(jìn)程連接,要保證沒(méi)有其他程序操作數(shù)據(jù)庫(kù)。+—-+——+———–+———+———+——-+——-+——————+| 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 | 劉德華 | 站長(zhǎng)教學(xué)網(wǎng) eduyo.com+——+———–+1 row in set (0.00 sec)注意,在改名之前必須現(xiàn)轉(zhuǎn)換存儲(chǔ)引擎,否則會(huì)報(bào)錯(cuò),你想換的這個(gè)名稱就換不成了,只能換另外一個(gè)名稱了。錯(cuò)誤的方法就不演示了,光記住好的就行了。
MySQL在5.1引入了一個(gè)rename
database操作,但在MySQL5.1.23后又不支持這個(gè)命令??梢哉f(shuō)是一個(gè)實(shí)驗(yàn)性的功能,沒(méi)有在生產(chǎn)中支持過(guò)(mysql-5.1
release在mysql-5.1.30),那么生產(chǎn)中我們有時(shí)為了追求完美需要改一下庫(kù)名。怎么操作呢?
這里提供一個(gè)變通的方法。
1.
創(chuàng)建出新庫(kù)名:
復(fù)制代碼
代碼如下:
mysqlcreate
database
db_v2;
2.生成rename語(yǔ)句,從olddb里遷移,我這里olddb里sbtest;
復(fù)制代碼
代碼如下:mysqlselect
concat("rename
table
",table_schema,".",table_name,"
to
db_v2.",table_name,";")
into
outfile
'/tmp/rename_to_db_v2.sql'
from
information_schema.tables
where
table_schema='sbtest';
3.執(zhí)行生成的sql
復(fù)制代碼
代碼如下:mysqlsource
/tmp/rename_to_db_v2.sql
就這么簡(jiǎn)單可以搞定了。
Good
luck!
提供三種方法:
1. RENAME DATABASE db_name TO new_db_name
這個(gè)。。這個(gè)語(yǔ)法在mysql 5.1.7中被添加進(jìn)來(lái),到了5.1.23又去掉了。
據(jù)說(shuō)有可能丟失數(shù)據(jù)。還是不要用的好。
2.如果所有表都是MyISAM類型的話,可以改文件夾的名字
關(guān)閉mysqld
把data目錄中的db_name目錄重命名為new_db_name
開(kāi)啟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;
提供三種方法:
1. RENAME DATABASE db_name TO new_db_name
這個(gè)。。這個(gè)語(yǔ)法在mysql 5.1.7中被添加進(jìn)來(lái),到了5.1.23又去掉了。
據(jù)說(shuō)有可能丟失數(shù)據(jù)。還是不要用的好。
2.如果所有表都是MyISAM類型的話,可以改文件夾的名字
關(guān)閉mysqld
把data目錄中的db_name目錄重命名為new_db_name
開(kāi)啟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;