Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建mysql用户以从PHP进行连接_Mysql_Nginx_Centos_Php - Fatal编程技术网

创建mysql用户以从PHP进行连接

创建mysql用户以从PHP进行连接,mysql,nginx,centos,php,Mysql,Nginx,Centos,Php,但当我尝试从PHP连接时: CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost' WITH GRANT OPTION; 对于newuser,我得到: mysql_connect("localhost", "newuser", "password"); 但是根连接成功了 为什么“新用户”无法连接 奇怪的是,虽然mysql

但当我尝试从PHP连接时:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost' WITH GRANT OPTION;
对于newuser,我得到:

mysql_connect("localhost", "newuser", "password");
但是根连接成功了

为什么“新用户”无法连接

奇怪的是,虽然mysql_connect显示错误,但使用PDO我可以成功连接。 可能PHP版本5.4.13在mysql_connect函数方面存在一些问题

已解决:开发者使用mysql_connect(“127.0.0.1”、“新用户”、“evtevtetv$q”);php会将evtevtetv*$q*识别为变量。

如果您尝试此操作会怎么样

Access denied for user 'newuser'@'localhost' (using password: YES)
试试这个

CREATE USER 'newuser';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
WITH GRANT(授予)选项意味着您要向其授予权限的用户可以进一步授予该权限

我们从不将其与create user命令一起使用

  • 你能通过命令行连接吗?像这样

    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost' WITH GRANT OPTION;
    
    如果可以,那么您的PHP可能有问题

  • 有时,为了使更改生效,您需要重新启动MySQL

  • 正如Alexey所说,尝试从查询中删除
    @'localhost'
    以创建用户名,因为这可能会导致问题

  • 您还应该通过以root(
    MySQL-u root-p
    )身份登录MySQL,并查看用户是否存在,以及
    SELECT*FROM MySQL.user
    并查看用户名是否存在以及权限是否正确


  • 您可能必须使用127.0.0.1而不是localhost?(如果您在Windows中编程?)当您使用CREATE USER时,您不应该需要它,但是,您可以尝试使用mysql客户端运行“刷新权限”吗。您可以通过mysql控制台与newuser连接吗?您是从localhost本身连接的吗?或者从不同的机器上看到这个
    mysql -u newuser -p