无法将用户连接到谷歌云sql数据库

时间:2014-03-31 16:14:13

标签: php sql google-app-engine

我正在尝试连接到Google Cloud sql上的实例中的数据库,但它告诉我访问被拒绝。

我只是想知道我在这里错过了什么......

  1. 我已请求IP并将其插入授权网络
  2. 我创建了一个数据库并使用SQL提示设置用户(在Google API控制台的原始视图中找到),并为该用户授予该数据库的所有权限。
  3. 我列出了该数据库中的用户,以确保“adrian”存在并且我已正确完成。
  4. 我已确保用于连接的应用已在访问控制中获得授权
  5. 我在访问控制部分设置了root密码。
  6. 这是我的app.yaml文件......

    application: guestbookadrian12
    version: 1
    runtime: php
    api_version: 1
    
    handlers:
    - url: .*
    script: main.php
    
    env_variables:
    DEVELOPMENT_DB_HOST: ''
    DEVELOPMENT_DB_USERNAME: 'root'
    DEVELOPMENT_DB_PASSWORD: 'password'
    DEVELOPMENT_DB_NAME: 'guestbookadrian12'
    PRODUCTION_CLOUD_SQL_INSTANCE: '/cloudsql/guestbookadrian12:my-cloudsql-instance'
    PRODUCTION_DB_USERNAME: 'adrian'
    PRODUCTION_DB_PASSWORD: 'password'
    PRODUCTION_DB_NAME: 'guestbookadrian12'
    

    这是一些创建连接的PHP代码......

     if (strpos(getenv('SERVER_SOFTWARE'), 'Development') === false) {
    $conn = mysqli_connect(null,
                           getenv('PRODUCTION_DB_USERNAME'),
                           getenv('PRODUCTION_DB_PASSWORD'),
                           null,
                           null,
                           getenv('PRODUCTION_CLOUD_SQL_INSTANCE'));
    $db = getenv('PRODUCTION_DB_NAME');
    //echo 'Database = : '.$db;
     } else {
    $conn = mysqli_connect(getenv('DEVELOPMENT_DB_HOST'), 
                           getenv('DEVELOPMENT_DB_USERNAME'),
                           getenv('DEVELOPMENT_DB_PASSWORD'));
    $db = getenv('DEVELOPMENT_DB_NAME');
    }
    
    if ($conn->connect_error) {
    die("Could not connect to database: $conn->connect_error " .
        "[$conn->connect_errno]");
     }
    
     if ($conn->query("CREATE DATABASE IF NOT EXISTS $db") === FALSE) {
    die("Could not create database: $conn->error [$conn->errno]");
     }
    

    我得到的错误是

    Could not create database: Access denied for user 'adrian'@'localhost' to database 'guestbookadrian12' [1044]
    

    谢谢

0 个答案:

没有答案
相关问题