centos 下mysql 添加用户(配置建库权限)

前提:

  1. 本文需要Mysql的root用户操作,如果忘记密码,可以参考:本博主的mysql密码修改博客。
  2. mysql密码修改博客链接:https://blog.csdn.net/weixin_42170439/article/details/102486126 。

1.查看当前的用户

// 进入mysql服务会有一个mysql的库,查询该库下的user表,查询字段 Host,User .
select Host,User from mysql.user;

查询结果:

mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysqld        | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)

2. 创建一个用户 user_name

\\ 此处user_name为自定义用户名,by 后面的字符串为自定义密码,可以修改 。
create user user_name identified by '1234'; 

创建结果:

mysql> create user user_name identified by '1234';
Query OK, 0 rows affected (0.00 sec)

上述结果表示:sql语句运行ok,这里0行生效,不用管 。

再次查询用户表(验证结果):

mysql> select Host,User from mysql.user;

+-----------+---------------+
| Host      | User          |
+-----------+---------------+
| %         | user_name    |
| %         | mysqld        |
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
6 rows in set (0.00 sec)

上述操作成功:

  1. mysql程序里面操作库,表还是报没有权限错误 。
  2. 原因是我们创建了用户,还没有对这个用户分配权限。
  3. 下面我们就为这个用户,配置权限 。

3. 配置权限

// grant 权限设置关键字,privileges on *.* to 允许MySQL用户访问所有数据库 。
grant all privileges on *.* to 'user_name'@'% 'identified by '1234' with grant option;

上述命令解释:

  1.  all: 代表接受所有操作,比如 select,insert,delete....  。
  2.  *.*: 代表所有库下面的所有表,第一个*可以是数据库名表示指定数据库,第二个*可以是该库下的表名表示指定数据表 。
  3. %:  代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址 。
  4. with grant option:是否允许用户继续授权(注意,这个用户能够授权只能是该用户的权限子集 。
  5. 注意,在授权操作之后,使用flush privileges命令刷新权限 。

4. 收回Mysql 用户的权限

    查看当前用户的权限:

show grants;

    查看特定用户的权限:

show grants for user_name@%;

    使用REVOKE命令回收对用户的授权语法:

    REVOKE 权限 ON 数据库对象 FROM 用户;

    例如: 回收用户user_name 的所有权限 :

REVOKE  all  ON  *.*  FROM  user_name@'%';

注意:使用REVOKE撤销全部权限,操作者必须拥有MySQLl数据库的全局CREATE USER权限或UPDATE权限;

5. 刷新mysql用户权限相关表

flush privileges ;

6. 远程连接问题

Mysql 程序远程连接还是连不上,报access deny 错,解决方式;

打开 mysql配置文件,是默认的3306,接着往下面看,发现一个关键地方;

bind-address  = 127.0.0.1

原来这里mysql默认绑定了本地ip,不接受其他来源;注释掉,重启mysql 一切OK;

7.  修改用户密码

update mysql.user set password=password('新密码') where User="user_name" and Host="%";

8. 删除用户

delete from mysql.user where User='linjianqing' and Host='%';

9.  Mysql 补充操作

如果创建用户时,报:

ERROR 1396 (HY000): Operation CREATE USER failed for 'linjianqing'@'%'

则把语句改成

create  user  'user_name'@'%'  identified by  '123456' ;

创建数据库命令:create database mmall default character set utf8 COLLATE utf8_general_ci;

显示数据库:show databases;

删除数据库:drop database mmall;

给这个数据库赋予用户的权限:grant all privileges on mmall.* to 'jacob'@'%' identified by '123456';

10. 将sql文件导入数据库

进入数据库命令:use 数据库名;

显示表:show tables;

导入:source /developer/mmall.sql;

验证,查看表:select * from mmall_product \G;

\G是格式化的意思

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值