一、未使用的數(shù)據(jù)庫 改名方法如下:1、未使用的數(shù)據(jù)庫改名比較方便,找到你要更改的數(shù)據(jù)庫,右鍵選擇【重命名】。2、然后將你想要更改的名字寫好,然后點(diǎn)擊一下旁邊的空白欄。3、然后你就發(fā)現(xiàn)數(shù)據(jù)庫的名稱已經(jīng)改好了。二、使用中的數(shù)據(jù)庫改名方法如下:1、使用中的數(shù)據(jù)庫你在使用這種方法顯然是不合適,你用這種方法更改數(shù)據(jù)庫的名字之后會(huì)提示你無法重命名數(shù)據(jù)庫。2、這時(shí)還是同樣的右鍵你要改名的數(shù)據(jù)庫,選擇【屬性】按鈕。3、然后在數(shù)據(jù)庫屬性左側(cè)菜單欄中選擇【選項(xiàng)】按鈕。4、然后在【狀態(tài)】欄目下有一項(xiàng)限制訪問選項(xiàng),默認(rèn)的是MULTI_USER,意為多用戶模式,然后你將其更改為【SINGLE_USER】單用戶模式,點(diǎn)擊確定即可。5、然后你在使用上面的方法更改數(shù)據(jù)庫的名稱會(huì)發(fā)現(xiàn)數(shù)據(jù)庫改名成功了。
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元白朗做網(wǎng)站,已為上家服務(wù),為白朗各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
進(jìn)入數(shù)據(jù)庫后,
先 use 數(shù)據(jù)庫名;
然后:
alter table customers rename custs;
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導(dǎo)出數(shù)據(jù)再導(dǎo)入,代碼如下:
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”
最安全的做法是進(jìn)入到mysql安裝目錄,修改庫名。
比如是默認(rèn)安裝的,那么位置在/var/lib/mysql/目錄下;目錄下的所有目錄都是庫名,直接用mv更改就可以;
提示: 如果進(jìn)入mysql用命令改會(huì)發(fā)生未知錯(cuò)誤的,而且新版本也不支持這種改法了!
今天接到宇航同學(xué)的問題,他們老大要求更改數(shù)據(jù)庫名稱,居然是為了數(shù)據(jù)庫安全???我靠!真強(qiáng)的想法啊。因?yàn)樗麄兊臄?shù)據(jù)庫是采用的INNODB存儲(chǔ)引擎,不能直接修改數(shù)據(jù)庫的名稱,所以現(xiàn)轉(zhuǎn)換成MyISAM存儲(chǔ)引擎在修改表名在轉(zhuǎn)換成INNODB存儲(chǔ)引擎就好了,雖然過程比較麻煩,不如修改表名那樣容易,但是能修改就偷笑吧。我個(gè)人認(rèn)為數(shù)據(jù)庫的名稱屬于數(shù)據(jù)庫設(shè)計(jì)范疇,應(yīng)該遵守設(shè)計(jì)規(guī)范,不能隨便的修改名稱。第一次聽說為了安全修改數(shù)據(jù)庫名,實(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; #這一步主要查看有沒有其他進(jìn)程連接,要保證沒有其他程序操作數(shù)據(jù)庫。+—-+——+———–+———+———+——-+——-+——————+| 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ò)誤的方法就不演示了,光記住好的就行了。