深圳全飞鸿

标题: MYSQL超级账户(类似ROOT) [打印本页]

作者: zhgc    时间: 2021-9-11 18:54
标题: MYSQL超级账户(类似ROOT)
超级账户

默认启动mysql之后是没有用户的(root是进不去的...) 这是需要先net stop mysql,在配置文件(my-default.ini,视安装情况而定)的[mysqld]下面添加skip-grant-tables后保存退出。

net start mysql

mysql -u root -p

直接回车(空密码)

这里我是想创造一个全部权限的god账户,输入

create user 'god'@'localhost' identified by 'password...';

账户创建完成(如果失败就flush privileges一下)

给god账户加上权限

  1. grant all on *.* to 'god'@'localhost' with grant option;
复制代码


其中with grant option是为了让这个god账户能给别的账户授权(从而和root几乎一致)

完成之后exit

net stop mysql

进入配置文件,删除掉刚才添加的那一行(或者用#注释掉)。保存退出

net start mysql

现在god就是一个能正常登录的超级账户了。


作者: zhgc    时间: 2022-12-21 18:11
额外补充点知识,只有拥有创建权限且有 SUPER 权限的用户才可以建 DEFINER = 其他用户的对象。例如:root 账号可以创建 DEFINER = testuser 的视图,而 testuser 在有创建视图的前提下只能创建 DEFINER 为自己的视图。
作者: zhgc    时间: 2022-12-21 18:17
SQL指令Grant(分配权限)和Revoke(回收权限)
作者: zhgc    时间: 2022-12-21 18:19
skip-grant-tables

UPDATE `user`
SET HOST = '%',
insert_priv = 'y',
update_priv = 'y',
Alter_priv = 'y',
delete_priv = 'y',
create_priv = 'y',
drop_priv = 'y',
reload_priv = 'y',
shutdown_priv = 'y',
Process_priv = 'y',
file_priv = 'y',
grant_priv = 'y',
References_priv = 'y',
index_priv = 'y',
create_user_priv = 'y',
show_db_priv = 'y',
super_priv = 'y',
create_tmp_table_priv = 'y',
Lock_tables_priv = 'y',
execute_priv = 'y',
repl_slave_priv = 'y',
repl_client_priv = 'y',
create_view_priv = 'y',
show_view_priv = 'y',
create_routine_priv = 'y',
alter_routine_priv = 'y',
create_user_priv = 'y'
WHERE
        `User` LIKE 'root'
        AND `Host` LIKE '%';




欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2