Codeigniter dbforge 库 - 将 db 用户分配给当前数据库并添加授予权限

Codeigniter dbforge library - assign db user to current database and add grant privileges

我正在尝试创建一个数据库用户并将他分配给已经使用 dbforge 库创建的新数据库:

$this->dbforge->create_database( $oData->db_name );

我的问题是:

  1. 首先必须做什么 - 创建用户还是创建数据库?
  2. 如何将用户分配到当前数据库并添加授予权限?

我创建数据库和用户的代码:

$this->load->dbforge();
// create user
$this->db->query("CREATE USER '". $data->db_user ."'@'localhost' IDENTIFIED BY '". $data->db_password ."';");
// create database
$this->dbforge->create_database( $data->db_name );

我自己找到的问题答案是:

  1. 首先必须做什么 - 创建用户还是创建数据库? -

    • 首先要创建数据库!
  2. 如何将用户分配到当前数据库并添加授予权限? - 按照这段代码,我创建了一个新用户,具有授予权限,可以访问所有数据库:

$db->query("CREATE USER '". $oData->db_user ."'@'localhost' IDENTIFIED BY '". $oData->db_password ."';");
$db->query("GRANT CREATE, ALTER, DELETE, INSERT, SELECT, DROP, UPDATE  ON * . * TO '". $oData->db_user ."'@'localhost';");