我想知道是否有办法为我的MySQL数据库创建一个新用户?我正在尝试添加允许用户连接到数据库的基本登录功能。如果用户没有帐户,那么我想创建一个新帐户。这就是我到目前为止所做的:
<html>
<head>
<title>Test</title>
</head>
<body>
<?php
$username = "root";
$password = "root";
$hostname = "localhost";
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
$selected = mysql_select_db("contactsDB",$dbhandle)
or die("Could not select examples");
echo "Found contacts DB";
?>
</body>
所有内容都正常连接,但现在,我希望用户输入用户名和密码,而不必输入用户名和密码(root)。再说一遍,如果他们没有,那么我想创建一个新的。
答案 0 :(得分:1)
您至少需要一个管理员帐户才能创建权限较低的用户。
请参阅 create db and user mysql and set privileges php 这是一个很好的参考。
答案 1 :(得分:1)
这是完全可能的,但我要清楚的一件事是以root身份登录来执行这些命令。
考虑到这一点,与此类似的方法可能有效。
mysql_connect('localhost', 'user', password);
mysql_query("CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';");
mysql_query("GRANT ALL ON db1.* TO 'username'@'localhost'");
mysql_close();
如果您有这些新用户的专用数据库,则可以轻松分配它。