有没有人知道是否有一个脚本会自动创建一个mysql数据库而不必进入cpanel并手动创建数据库,用户名和密码?
感谢
答案 0 :(得分:6)
除非您使用更高级别的用户登录,否则无法创建用户名和密码。这通常是根源。使用具有足够权限的用户名和密码后,轻而易举地创建数据库。
<?php
$dsn = $dsn = "mysql:host=localhost";
$pdo = new PDO($dsn,"root","");
//Creation of user "user_name"
$pdo->query("CREATE USER 'user_name'@'%' IDENTIFIED BY 'pass_word';");
//Creation of database "new_db"
$pdo->query("CREATE DATABASE `new_db`;");
//Adding all privileges on our newly created database
$pdo->query("GRANT ALL PRIVILEGES on `new_db`.* TO 'user_name'@'%';");
?>
在此脚本中,我假设您的root用户名为“root”,其密码为 为空 ,如果不是这样,请更改第4行匹配。
答案 1 :(得分:0)
如果没有登录,则无法创建新用户。
您可以使用root帐户或具有权限的用户
创建数据库答案 2 :(得分:0)
<?php
mysql_connect("localhost", "root", "gm123") or die(mysql_error());
mysql_query("CREATE DATABASE cat") or die(mysql_error());
mysql_select_db("cat") or die(mysql_error());
mysql_query("CREATE TABLE user(username varchar(20), password varchar(20), permission varchar(20))") or die(mysql_error());
mysql_query("INSERT INTO user(username,password,permission) VALUES('gm','311807','admin')") or die(mysql_error());
mysql_query("CREATE TABLE cattbl(id INT NOT NULL PRIMARY KEY ,name VARCHAR(30),roll INT NOT NULL,technology VARCHAR(30),semister VARCHAR(30),shift VARCHAR(30),bdate varchar(30),cell VARCHAR(30),address VARCHAR(30),picture LONGBLOB)") or die(mysql_error());
header("Location: index.php");
?>
您可以尝试解决此问题
答案 3 :(得分:0)
我刚刚在我的项目中这样做
实际的答案是你可以,但它有点复杂。
Cpanel不允许您使用正常的“CREATE DATABASE'mydbname';”在php脚本中创建一个新数据库。
唯一可以做到这一点的方法是登录cpanel,浏览数据库向导并创建一个新的。到目前为止,您每次都可能手动执行此操作。
这可以用PHP脚本完成,但你必须使用api - 哪种类型的操作会自动执行。你必须给api你的cpanel用户名和cpanel密码。
只需按照这个问题的答案 Create cpanel database through php script
希望有所帮助
答案 4 :(得分:0)
require_once&#39; database.php&#39;添加这行代码你的index.php
$servername = 'localhost';
$username= 'root';
$password ='';
$conn = new mysqli($servername,$username,$password);
if($conn->connect_error)
{
die("Connection Failed !" . $conn->connect_error());
}
else
{
$sql = "CREATE DATABASE test_employee";
if($conn->query($sql)== TRUE )
{
echo "Database Created Successfully";
}
}
答案 5 :(得分:-1)
你绝对可以!你可以使用PHP。
首先,您需要连接到数据库。然后,您需要在创建数据库的该数据库上运行SQL查询。 (这基本上就是cpanel所做的)
编辑:自不推荐使用my_sql后更新
关于如何做到这一点的一篇Stackoverflow帖子......
答案 6 :(得分:-2)
当您使用服务器root-account(或具有db / user-adding权限的帐户)连接时,您可以创建数据库和用户。
添加用户:
<?php
mysql_query("CREATE USER 'USER'@'%' IDENTIFIED BY 'PASSWORD';");
mysql_query("GRANT USAGE ON * . * TO 'USER'@'%' IDENTIFIED BY 'PASSWORD' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;");
?>
创建数据库:
<?php
mysql_query("CREATE DATABASE 'DATABASE';");
?>
授予用户数据库权限:
<?php
mysql_query("GRANT ALL PRIVILEGES ON `DATABASE` . * TO 'USER'@'%';");
?>