修改MySQL數(shù)據(jù)庫名稱的方法如下:
創(chuàng)新互聯(lián)公司成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元商河做網(wǎng)站,已為上家服務(wù),為商河各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
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.重命名所有的表
代碼如下:
4. mysqldump導(dǎo)出數(shù)據(jù)再導(dǎo)入
代碼如下:
5.使用shell腳本重命名所有的表
代碼如下:
被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對數(shù)據(jù)庫改名,可能由于實現(xiàn)的功能不完備(比如,這條命令可能是一個超大的事務(wù),或者是由于之前的表很多還是 MyISAM 等),后來的版本直接取消了這條命令。更改數(shù)據(jù)庫名大致上有以下幾種方案:
一、mysqldump 導(dǎo)入導(dǎo)出要說最簡單的方法,就是直接用 mysqldump 工具,在舊庫導(dǎo)出再往新庫導(dǎo)入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導(dǎo)出(包含的對象:表、視圖、觸發(fā)器、事件、存儲過程、存儲函數(shù))
二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那么順滑,不能一步到位。比如,要把數(shù)據(jù)庫 yttdb_old 改名為 yttdb_new,如果數(shù)據(jù)庫 yttdb_old 里只有磁盤表,那很簡單,直接改名即可?;蛘邔憘€腳本來批量改,非常簡單。但是一般舊庫里不只有磁盤表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導(dǎo)出來,完了在逐一改完表名后導(dǎo)進去。
三、歷史方案其實在 MySQL 早期還有一種方法。假設(shè) MySQL 部署好了后,所有的 binlog 都有備份,并且二進制日志格式還是 statement 的話,那就可以簡單搭建一臺從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉升從機為主機即可。這里只需要從機配置一個參數(shù)來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old-yttdb_new不過這種局限性很大,不具備標(biāo)準(zhǔn)化,不推薦。
總結(jié)其實針對 MySQL 本身改庫名,大致就這么幾種方法:
如果數(shù)據(jù)量小,推薦第一種;
數(shù)據(jù)量大,則推薦第二種;
數(shù)據(jù)量巨大,那就非 MySQL 本身能解決的了。
可通過部署第三方 ETL 工具,通過解析 MySQL 二進制日志或其他的方式來把舊庫數(shù)據(jù)直接讀取到新庫達到改名的目的等等。
常見的主要有三種方法:
如果所有表都是MyISAM類型的話,可以直接修改文件夾的名字。
關(guān)閉mysql→把data目錄中的db_name目錄重命名為new_db_name→開啟mysql
新建數(shù)據(jù)庫,在新的數(shù)據(jù)庫里重命名所有舊數(shù)據(jù)庫中的表,再刪除舊的數(shù)據(jù)庫。具體操作命令如下:創(chuàng)建新的數(shù)據(jù)庫→重命名數(shù)據(jù)表名稱→刪除舊的數(shù)據(jù)庫。
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ù)庫。具體操作命令如下:導(dǎo)出數(shù)據(jù)→創(chuàng)建新的數(shù)據(jù)庫→導(dǎo)入數(shù)據(jù)→刪除舊的數(shù)據(jù)庫。
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”
兩種方法
(1)
簡單一點,裝人下phpmyadmin,圖形界面,操作很簡單。
(2)
麻煩一點
命令行
create
databases
name
具體的很多命令,你自己可以看看
輸入help
更具體一點,就輸入help
命令名,這樣就可以看到這條命令的詳細用法,如help
show
,你會看到很多,比如使用show
databases,就可以看到所以的數(shù)據(jù)庫。
另外,數(shù)據(jù)庫的密碼應(yīng)該是在你安裝的時候設(shè)定的,用戶名也是。默認(rèn)的用戶名是root,密碼為空。
建議你還是裝一個帶界面的,這樣建表要方便的多。
怎么保存數(shù)據(jù)的,如果是班級和姓名都在一個表并且各自一列的話:select concat(班級列, '_' ,姓名表)