mysql 添加权限账户

添加命令

-- 赋予账号 权限,并设置密码
GRANT ALL PRIVILEGES ON 数据库名.* TO '账户名称'@'IP地址或%' IDENTIFIED BY '密码';
FLUSH privileges;

---------------------------------
-- mysql8方式
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

-- @后面的地址要一样,如果不同需要先修改,再执行GRANT语句
USE mysql;
UPDATE user SET host='localhost' WHERE user='username';

ALL PRIVILEGES  包含一下权限,可以给予某些权限

  1. select,

  2. insert,

  3. update,

  4. delete,

  5. create,

  6. drop,

  7. references,

  8. index,

  9. alter,

  10. create temporary tables,

  11. lock tables,

  12. execute,

  13. create view,

  14. show view,

  15. create routine,

  16. alter routine,

  17. event,

  18. trigger

查询用户拥有权限

SHOW GRANTS FOR '用户名';

2, 删除库下所有表

-- 关闭外键约束
SET FOREIGN_KEY_CHECKS = 0;

-- 获取所有表名
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名';


-- 遍历所有表名 依次删除每个表
SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_name, '`') INTO @tables FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名';

-- 查看
SELECT @tables;

SET @tables = CONCAT('DROP TABLE IF EXISTS ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- 开启外键约束
SET FOREIGN_KEY_CHECKS = 1;


注:GROUP_CONCAT默认长度为 1024,如果删除表比较多需要增加长度

-- 临时修改GROUP_CONCAT长度
SHOW VARIABLES LIKE '%group_concat_max_len%';
SET SESSION group_concat_max_len = 4096;

3.其他

-- 查看表信息
SHOW TABLE STATUS LIKE '表名';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值