shinbuntu / db-user
创建 Mysql 用户并管理权限
1.0.5
2017-05-15 15:21 UTC
Requires
- php: ~5.6
- doctrine/dbal: 2.4.*
Requires (Dev)
- atoum/atoum: ~2.2
- mayflower/php-codebrowser: ~1.1
- pdepend/pdepend: ~2.1
- phpdocumentor/phpdocumentor: ~2.8
- phploc/phploc: ~2.1
- phpmd/phpmd: ~2.2
- sebastian/phpcpd: ~2.0
- siwayll/phpcs-norme-dpsi: ~3.2
This package is not auto-updated.
Last update: 2024-09-20 19:40:19 UTC
README
轻松创建 Mysql 用户并管理权限。
为什么?
该项目简化了 PHP 中的 MySQL 用户账户管理,避免了使用原始 SQL 查询。
安装
$ composer require shinbuntu/db-user
使用
使用 PDO 或 Doctrine 连接实例化管理器
$dbUserManager = new DbUser($dbConnection);
创建新用户
$dbUserManager->createUser('test_username', '!super_secure_password$');
删除用户
$dbUserManager->dropUser('test_username');
测试用户是否存在
$dbUserManager->userExist('test_username');
授予所有数据库的 mysql 用户权限(别忘了刷新权限)
$dbUserManager->grantPrivileges( 'test_username', [ DbUser::PRIVILEGE_CREATE_USER, DbUser::PRIVILEGE_CREATE, DbUser::PRIVILEGE_GRANT_OPTION, DbUser::PRIVILEGE_ALTER, DbUser::PRIVILEGE_FILE, DbUser::PRIVILEGE_RELOAD, DbUser::PRIVILEGE_SELECT, DbUser::PRIVILEGE_INSERT, DbUser::PRIVILEGE_UPDATE, DbUser::PRIVILEGE_DELETE, ] );
授予特定数据库的 mysql 用户权限(别忘了刷新权限)
$dbUserManager->grantPrivileges( 'test_username', [ DbUser::PRIVILEGE_SELECT, DbUser::PRIVILEGE_INSERT, DbUser::PRIVILEGE_UPDATE, DbUser::PRIVILEGE_DELETE, ], 'test_database_name' );
授予特定表的 mysql 用户权限(别忘了刷新权限)
$dbUserManager->grantPrivileges( 'test_username', [ DbUser::PRIVILEGE_SELECT, DbUser::PRIVILEGE_INSERT, DbUser::PRIVILEGE_UPDATE, DbUser::PRIVILEGE_DELETE, ], 'test_database_name', 'test_table_name' );
撤销所有数据库的 mysql 用户权限(别忘了刷新权限)
$dbUserManager->revokePrivileges( 'test_username', [ DbUser::PRIVILEGE_CREATE_USER, DbUser::PRIVILEGE_CREATE, DbUser::PRIVILEGE_GRANT_OPTION, DbUser::PRIVILEGE_ALTER, DbUser::PRIVILEGE_FILE, DbUser::PRIVILEGE_RELOAD, DbUser::PRIVILEGE_SELECT, DbUser::PRIVILEGE_INSERT, DbUser::PRIVILEGE_UPDATE, DbUser::PRIVILEGE_DELETE, ] );
撤销特定数据库的 mysql 用户权限(别忘了刷新权限)
$dbUserManager->revokePrivileges( 'test_username', [ DbUser::PRIVILEGE_SELECT, DbUser::PRIVILEGE_INSERT, DbUser::PRIVILEGE_UPDATE, DbUser::PRIVILEGE_DELETE, ], 'test_database_name' );
撤销特定表的 mysql 用户权限(别忘了刷新权限)
$dbUserManager->revokePrivileges( 'test_username', [ DbUser::PRIVILEGE_SELECT, DbUser::PRIVILEGE_INSERT, DbUser::PRIVILEGE_UPDATE, DbUser::PRIVILEGE_DELETE, ], 'test_database_name', 'test_table_name' );
刷新权限
$dbUserManager->flushPrivileges();
贡献
查看 CONTRIBUTING 文件。
许可
该项目是开源软件,受 MIT 许可 许可。