Par*_*kos 7 php mysql codeigniter
我想以编程方式使用CI创建数据库和用户.到目前为止,我有这两个简单的MySQL语句.
CREATE DATABASE `testdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)
和
CREATE USER 'test_user'@'%' IDENTIFIED BY '***';
GRANT ALL PRIVILEGES ON * . * TO 'test_user'@'%' IDENTIFIED BY '***' WITH GRANT
OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0
MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON `testdb` . * TO 'test_user'@'%';
Run Code Online (Sandbox Code Playgroud)
那些可以转换为Active Record,还是CI提供自己创建用户/表的方式?我搜索文档,找不到任何东西......
编辑:我这样做是一个内部网应用程序所以不用担心权限
CodeIgniter提供了一个称为Database Forge的类,它包含一些可用于对数据库执行基本维护的功能。
$this->load->dbforge()
if ($this->dbforge->create_database('my_db'))
{
echo 'Database created!';
}
Run Code Online (Sandbox Code Playgroud)
关于添加用户,它是可能的,但是我不知道这是否是一个好习惯。
并确保运行查询的mysql用户具有创建数据库的权限。
$data = array(
'Host' => 'localhost' ,
'User' => 'krish' ,
'Password' => 'somepass',
'Select_priv' => 'Y',
'Insert_priv' => 'Y'
);
$this->db->insert('mysql.user', $data);
Run Code Online (Sandbox Code Playgroud)