创建数据库和用户mysql并在php中设置权限
有没有一种方法可以创建一个新的MySQL数据库,一个新的MySQL用户,并在新数据库上授予新用户权限?所有这些操作都可以通过常规SQL查询执行创建数据库和用户mysql并在php中设置权限,php,mysql,database,privileges,Php,Mysql,Database,Privileges,有没有一种方法可以创建一个新的MySQL数据库,一个新的MySQL用户,并在新数据库上授予新用户权限?所有这些操作都可以通过常规SQL查询执行 但是,我不想使用root用户的数据库连接运行PHP脚本。您可以这样做: mysql_connect('localhost','user',password); mysql_query("CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';"); mysql_query("GRANT AL
但是,我不想使用root用户的数据库连接运行PHP脚本。您可以这样做:
mysql_connect('localhost','user',password);
mysql_query("CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';");
mysql_query("GRANT ALL ON db1.* TO 'username'@'localhost'");
mysql_query("CREATE DATABASE newdatabase");
mysql_close();
您可以查看和上的MySQL文档,如果您在CPanel上托管项目,那么
MySQL\u query
方法将无法创建数据库、用户和授予权限
您必须使用CPanel的XMLAPI
<?php
include("xmlapi.php");
$db_host = 'yourdomain.com';
$cpaneluser = 'your cpanel username';
$cpanelpass = 'your cpanel password';
$databasename = 'testdb';
$databaseuser = 'test'; // Warning: in most of cases this can't be longer than 8 characters
$databasepass = 'dbpass'; // Warning: be sure the password is strong enough, else the CPanel will reject it
$xmlapi = new xmlapi($db_host);
$xmlapi->password_auth("".$cpaneluser."","".$cpanelpass."");
$xmlapi->set_port(2082);
$xmlapi->set_debug(1);//output actions in the error log 1 for true and 0 false
$xmlapi->set_output('array');//set this for browser output
//create database
$createdb = $xmlapi->api1_query($cpaneluser, "Mysql", "adddb", array($databasename));
//create user
$usr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduser", array($databaseuser, $databasepass));
//add user
$addusr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduserdb", array("".$cpaneluser."_".$databasename."", "".$cpaneluser."_".$databaseuser."", 'all'));
?>
创建数据库
创建数据库
我建议您使用phpmyadmin
您需要执行以下步骤:
打开phpmyadmin
转到管理部分
点击添加用户帐户
输入用户名和密码
设置特权
按[开始]按钮
就这些
见youtube上的《行动》[]
如果你想了解更多关于phpMyadmin的信息
但是,如果有任何特殊的原因需要使用php,那么下面就是sql
CREATE USER 'tesrytss'@'%'//user name
IDENTIFIED VIA mysql_native_password USING '***';.//set pass
GRANT SELECT, INSERT, UPDATE, DELETE, FILE ON *.* TO 'tesrytss'@'%' // previlages and username and location
REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; //other requerment
打开PHP myadmin或MySql workbench转到查询窗口,然后运行下面的查询
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON db1.* TO 'username'@'localhost'"
+1使用只能创建数据库和用户的专用帐户,因为它可以防止事故发生,并在帐户受损时提供损害限制。它不能删除任何内容,也无法访问数据。这不会试图回答问题。数据库创建成功,用户也创建成功,但新创建的用户未分配到数据库。您可以从此处下载xmlapi.php:(答案中的下载链接已移动)mysqli with php 7
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON db1.* TO 'username'@'localhost'"