Mysql创建用户、设置密码、授权以及删除

前言

Mysql数据库中的口令存储必须用password()函数加密,因为在mysql库中的user表中是以加密形式存储口令,而不是纯文本。

mysql创建用户的方法分成三种:INSERT USER表的方法、CREATE USER的方法、GRANT的方法。账号名称的构成方式

账号的组成方式:用户名@主机(所以可以出现重复的用户名,跟其他的数据库不一样)

用户名:16字符以内

主机名:可以用主机名和IP地址,也可以用通配符。

通配符说明:192.168.166.%(IP地址为192.168.166段的所有IP地址都可以访问)

脚本:CREATE USER 'username'@'host' [IDENTIFIED BY 'PASSWORD'] 其中密码是可选项

一、创建用户

-- 创建数据库名为'db_test'
CREATE DATABASE db_test;


-- 创建用户名为'user',密码为'passwd'
CREATE USER user IDENTIFIED BY 'passwd';

-- 创建用户名为'user',所有的IP地址都可以使用
CREATE USER 'user'@'%';

-- 创建用户名为'user'是不限制用户访问的IP也就是'%',密码为'passwd'
CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';

-- 创建用户名为'user',只能本地访问,密码为'passwd'
CREATE USER user@'localhost' IDENTIFIED BY 'passwd';

-- IP地址为192.168.166段的所有IP地址都可以使用'user'用户,密码为'passwd'远程访问所有的数据库
CREATE USER 'user'@'192.168.166.%' IDENTIFIED BY "passwd";

二、设置密码 

1.管理员身份打开cmd命令窗口,在shell下直接使用:

-- 设置'root'用户的密码为'new_passwd',旧密码为'old_passwd'
mysqladmin -u root -p password new_passwd old_passwd

2.用root 进入mysql后 :

-- 修改root用户的密码为'your password'
set password =password('your password'); 
flush privileges;

-- 修改用户'user'的密码为'new_passwd'
set password for user = password("your new_passwd");
flush privileges;
-- 修改用户'user'的密码为'new_passwd'
set password for user@'%'= Password('your new_passwd');
flush privileges;
-- 创建/修改用户
use mysql;
insert into user(host,user,password) values('%','user_name',password("your password");
flush privileges; 

3.使用GRANT语句,在创建一个用户时直接设置密码,grant语句将自动加密口令:

-- 所有的地址都可以使用user用户,确认密码为'your password'远程访问所有的数据库
grant all on *.* to user@% IDENTIFIED BY "your password";
flush privileges; 

-- 本地可以使用'root'用户,确认密码为'your password' 使用GRANT选项
grant all on *.* to 'root'@'localhost' IDENTIFIED BY 'your password' WITH GRANT OPTION;
flush privileges;

4.进入mysql库修改user表 :

use mysql; 
update user set password=password('你的密码') where user='root'; 
flush privileges; 

三、授权

-- 授权'user'用户可以操作'db_test'库的所有权限
GRANT ALL PRIVILEGES on db_test.* TO user@'%';

-- 授权用户'user'可以操作'db_test'库的所有权限,密码为'passwd'
GRANT ALL PRIVILEGES ON db_test.* TO user@'%' IDENTIFIED BY 'passwd';

-- 授权user可以操作db_test库的指定的权限
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, REFERENCES, INDEX, ALTER ON db_test.* TO user@'%';

-- 刷新权限
FLUSH PRIVILEGES; 

重载授权表 管理员身份打开cmd命令窗口,在shell下直接使用:

mysqladmin -u root reload

或者

mysqladmin -u root flush-privileges

四、删除用户

-- 删除授权
revoke privileges (columns) on what from user;
revoke all PRIVILEGES ON `db_taxi_mang`.* from 'utm'@'%';
-- 删除用户 方法一
delete from mysql.user where user='user' and host='%';

-- 删除用户 方法二
DROP USER 'username'@'host'; 
-- 删除数据库
DROP DATABASE db_test;

五、查看

-- 查询用户、地址 在mysql的'user'表中
SELECT USER,HOST FROM mysql.user;

六、修改

-- 修改数据库名
RENAME DATABASE olddbname TO newdbname;

附:相关资料
https://blog.csdn.net/hbhcxs/article/details/78564262
https://blog.csdn.net/phoenixdsf/article/details/3914038

转载请注明出处:BestEternity亲笔。

 

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,可以通过三种方法来创建普通用户。第一种方法是使用"create user"命令来创建用户,该命令的语法为"create user '用户名'@'主机名' identified by '密码';"。其中,'用户名'是要创建的用户的名称,'主机名'是用户可以访问MySQL的主机地址,'密码'是为用户设置密码。这样就可以创建一个新的普通用户了。 第二种方法是使用"grant"命令来创建用户授权,该命令的语法为"grant 权限列表 on 数据库名.表名 to '用户名'@'主机名' identified by '密码';"。其中,'权限列表'是要赋予用户的权限,可以是多个权限,例如select、insert等,'数据库名.表名'是要授权的数据库和表,'用户名'和'主机名'同样是用户的名称和主机地址,'密码'是为用户设置密码。通过这种方式,可以一步完成用户创建和授权的操作。 第三种方法是直接操作mysql授权表来创建用户。可以使用"insert into mysql.user (User, Host, authentication_string, ...) values ('用户名', '主机名', password('密码'), ...);"的方式向mysql.user表中插入一条新的记录来创建用户。其中,'用户名'、'主机名'和'密码'同样是用户的名称、主机地址和密码。这种方法需要对mysql.user表有写入权限,并且需要手动指定其他字段的值(例如权限)。 需要注意的是,创建用户之后,还需要使用"flush privileges;"命令来刷新MySQL的权限缓存,使新创建的用户可以立即生效。另外,如果需要修改已存在用户的密码,可以使用"update mysql.user set password=password('新密码') where User='用户名' and Host='主机名';"的方式来更新密码。 如果需要删除已存在的用户,可以使用"delete from mysql.user where User='用户名' and Host='主机名';"的方式来删除用户。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL如何创建用户](https://blog.csdn.net/weixin_45375866/article/details/123512884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(重要)](https://blog.csdn.net/weixin_33586619/article/details/113283736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值