最近在使用mysql的時(shí)候,發(fā)現(xiàn)了一個(gè)問(wèn)題,就是無(wú)法創(chuàng)建數(shù)據(jù)庫(kù)。經(jīng)過(guò)分析和排除,終于找到了原因和解決方法。
首先,要了解在mysql中創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限問(wèn)題。在mysql中,要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù),用戶必須具備CREATE DATABASE權(quán)限。如果當(dāng)前用戶沒(méi)有該權(quán)限,則無(wú)法創(chuàng)建數(shù)據(jù)庫(kù)。所以,首先要確認(rèn)當(dāng)前用戶是否具備CREATE DATABASE權(quán)限。
mysql>SHOW GRANTS FOR 'username'@'localhost';
其中,'username'@'localhost'即為當(dāng)前用戶。如果當(dāng)前用戶沒(méi)有CREATE DATABASE權(quán)限,則可以通過(guò)以下語(yǔ)句賦予該權(quán)限:
mysql>GRANT CREATE DATABASE ON *.* TO 'username'@'localhost'; mysql>FLUSH PRIVILEGES;
如果仍然無(wú)法創(chuàng)建數(shù)據(jù)庫(kù),那么可能是因?yàn)榇疟P(pán)空間不足導(dǎo)致。在創(chuàng)建數(shù)據(jù)庫(kù)之前,也要保證磁盤(pán)空間充足,否則也無(wú)法創(chuàng)建。
總結(jié)一下,若發(fā)現(xiàn)無(wú)法創(chuàng)建數(shù)據(jù)庫(kù),首先要確認(rèn)當(dāng)前用戶是否具備CREATE DATABASE權(quán)限,如果沒(méi)有,則賦予該權(quán)限;然后要確認(rèn)磁盤(pán)空間是否充足。