0
我有這個PHP函數:PHP PDO創建MySQL數據庫和用戶,並授予權限
function createDatabase($dbName,$dbPass) {
$host = 'localhost';
$user = 'myuser';
$user_password = 'mypass';
$db = new PDO("mysql:host=$host", $user, $user_password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
doLog('Creating Database...');
$count = $db->exec("CREATE DATABASE `$dbName`");
if($count === false) {
doLog('Could not create database');
return false;
}
doLog('Creating User...');
$count = $db->exec("CREATE USER '$dbName'@'localhost' IDENTIFIED BY '$dbPass'");
if($count === false) {
doLog('Could not create user');
return false;
}
doLog('Granting User Privileges...');
$count = $db->exec("GRANT ALL ON `$dbName`.* TO '$dbName'@'localhost'");
if($count === false) {
doLog('Could not grant user privileges');
return false;
}
doLog('Flushing Privileges...');
$count = $db->exec("FLUSH PRIVILEGES");
if($count === false) {
doLog('Could not flush privileges');
return false;
}
} catch (PDOException $e) {
doLog("DB ERROR: ". $e->getMessage());
return false;
}
return true;
}
我的工作在這裏下車了另一個問題: Can I create a database using PDO in PHP
第三查詢過程中,該代碼不斷得到掛斷了電話授予此錯誤特權:
SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user
有問題的MySQL用戶擁有全局權限,包括授予權限。還有什麼我可以錯過?
這是完整的錯誤信息? '拒絕用戶訪問'之後的任何其他內容? –
是的,它列出了用戶並說出了新數據庫的名稱 – Helto
用戶名是什麼? –