MySql 创建用户 授权 设置密码

简介:在数据库中一般来讲只是学习的话,那么都是用root账户来干一切事情的,然而root账户所具有的的权限又太大了。特别是当root允许远程连接,密码被暴力破解时,常常出现删库卖钱。这个时候,你可以禁用root远程登录,然后创建一些普通的用户,授予一些最最权限(增删改查)执行操作。

一、创建用户:

命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:

  1. username:你将创建的用户名(16字符以内.)
  2. host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%(可以用主机名和IP地址,也可以用通配符)
  3. password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

例子:

CREATE USER 'user1'@'localhost' IDENTIFIED BY '123456';//user1只能在本地登录(localhsot),密码为 123456
CREATE USER 'user2'@'192.168.1.101_' IDENDIFIED BY '123456';//user2 可以在固定ip的地址上登录
CREATE USER 'user3'@'%' IDENTIFIED BY '123456';	//可以在任意远程电脑上登录
CREATE USER 'user4'@'%' IDENTIFIED BY '';//无需密码在远程登录
CREATE USER 'user5'@'%';//无需密码在远程登录

注:若创建出错:flush privileges; 再创建

二、授权

查看权限:

show grants for '用户'@'IP地址'

授予命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:

  1. privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  2. databasename:数据库名
  3. tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

例子:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

删除权限:

revoke 权限 on 数据库.表 from '用户'@'IP地址';

注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令(类似于普通用户具有了root用户的一些权限):`

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

三、设置与更改用户密码

命令:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用:

SET PASSWORD = PASSWORD("newpassword");

例子:

//将 user1 的密码修改为 123456 ,一般用root授权
SET PASSWORD FOR 'user1'@'%' = PASSWORD("123456");

修改用户名:

 rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

四、删除用户

命令:

DROP USER 'username'@'host';
授权表:
grant  权限 on 数据库.表 to   '用户'@'IP地址';
 
//all privileges  除grant外的所有权限
            select          仅查权限
            select,insert   查和插入权限
            ...
            usage                   无访问权限
            alter                   使用alter table
            alter routine           使用alter procedure和drop procedure
            create                  使用create table
            create routine          使用create procedure
            create temporary tables 使用create temporary tables
            create user             使用create user、drop user、rename user和revoke  all privileges
            create view             使用create view
            delete                  使用delete
            drop                    使用drop table
            execute                 使用call和存储过程
            file                    使用select into outfile 和 load data infile
            grant option            使用grant 和 revoke
            index                   使用index
            insert                  使用insert
            lock tables             使用lock table
            process                 使用show full processlist
            select                  使用select
            show databases          使用show databases
            show view               使用show view
            update                  使用update
            reload                  使用flush
            shutdown                使用mysqladmin shutdown(关闭MySQL)
            super                   ??使用change master、kill、logs、purge、master和set global。还允许mysqladmin????调试登陆
            replication client      服务器位置的访问
            replication slave       由复制从属使用
 
// 数据库名.*           数据库中的所有
            数据库名.表          指定数据库中的某张表
            数据库名.存储过程     指定数据库中的存储过程
            *.*                所有数据库

别白嫖,点个赞再走呗!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值