php脚本自动创建mysql数据库?

时间:2011-08-05 18:00:37

标签: php mysql database

有没有人知道是否有一个脚本会自动创建一个mysql数据库而不必进入cpanel并手动创建数据库,用户名和密码?

感谢

7 个答案:

答案 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帖子......

Can I create a database using PDO in PHP

答案 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'@'%';");
?>