一些主要命令:

登陆:

mysql -u username -p                       一般都是:mysql -u root -p         也可以:mysql -uroot -p

显示全部的数据库:

show databases;

使用某一个数据库:

use databasename;                        注意:一般对于某个数据库的操作,要基于这个数据库操作

MySQL [(none)]> use test_db

Database changed

MySQL [test_db]>操作.......

显示一个数据库的全部表:

show tables;

show可以看到很多东西:

show create database dbname;     //这个可以看到创建数据库时用到的一些参数;

show create table tablename;     //这个可以看到创建表时用到的一些参数;

退出:

quit;

删除数据库和数据表:

mysql>drop database 数据库名;

mysql>drop table 数据表名;

用户相关:

查看所有用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

注意:在Mysql中其实有一个内置且名为mysql的数据库,这个数据库中存储的是Mysql的一些数据,比如用户、权限信息、存储过程等,所以呢,我们可以通过上面的查询语句来显示所有的用户,就像这样:

+------------------------------------+

| query                              |

+------------------------------------+

| User: 'root'@'127.0.0.1';          |

| User: 'mysql.session'@'localhost'; |

| User: 'mysql.sys'@'localhost';     |

| User: 'root'@'localhost';          |

+------------------------------------+

4 rows in set (0.01 sec)

注意:因为我加了 DISTINCT 所以去除了重复的数据,所以我们可以使用上面的命令显示所有你的Mysql的用户而忽略那些仅仅是主机名不同的用户。

我的里面只有一个 root 用户,如果你想增加或减少一些列的显示,那么你只需要编辑这条sql语句即可,比如你只需要显示用户的用户名,那么你就可以这样使用SELECT User FROM mysql.user;,就是这样了,是吧,就用这种方法就可以获得所有用户了呢。微笑。

新建用户:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';

MySQL [(none)]> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';

Query OK, 0 rows affected (0.01 sec)

为用户授权:

格式:

grant 权限 on 数据库.* to username@登录主机 identified by "password";

例子:

我这里只有一个test_db数据库!

grant all privileges on test_db.* to admin@localhost identified by 'admin';

MySQL [(none)]> grant all privileges on test_db.* to admin@localhost identified by 'admin';

Query OK, 0 rows affected, 2 warnings (0.01 sec)

然后需要运行刷新权限的命令:

flush privileges;

MySQL [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

这个时候牵扯到一个问题:如何查看用户权限?来确认我是否已经修改成功了呢?

MySQL查看用户权限命令的两种方法:

一:使用MySQL grants

命令:show grants for username@localhost;

MySQL [(none)]> show grants for admin@localhost;                                +-----------------------------------------------------------+

| Grants for admin@localhost                                |

+-----------------------------------------------------------+

| GRANT USAGE ON *.* TO 'admin'@'localhost'                 |

| GRANT ALL PRIVILEGES ON `testDB`.* TO 'admin'@'localhost' |

+-----------------------------------------------------------+

2 rows in set (0.00 sec)

二:直接通过MySQL select查询语句

注:这里用到的还是上文说的 mysql.user 表

命令:select * from mysql.user where user='username' and host='localhost(根据自己情况)' \G;

MySQL [(none)]> select * from mysql.user where user='admin' and host='localhost' \G;

*************************** 1. row ***************************

Host: localhost

User: admin

Select_priv: N

Insert_priv: N

Update_priv: N

Delete_priv: N

Create_priv: N

Drop_priv: N

Reload_priv: N

Shutdown_priv: N

Process_priv: N

File_priv: N

Grant_priv: N

References_priv: N

Index_priv: N

Alter_priv: N

Show_db_priv: N

Super_priv: N

Create_tmp_table_priv: N

Lock_tables_priv: N

Execute_priv: N

Repl_slave_priv: N

Repl_client_priv: N

Create_view_priv: N

Show_view_priv: N

Create_routine_priv: N

Alter_routine_priv: N

Create_user_priv: N

Event_priv: N

Trigger_priv: N

Create_tablespace_priv: N

ssl_type:

ssl_cipher:

x509_issuer:

x509_subject:

max_questions: 0

max_updates: 0

max_connections: 0

max_user_connections: 0

plugin: mysql_native_password

authentication_string: *4ACFE3202A5FF5CF467898FC58AAB1D615029441

password_expired: N

password_last_changed: 2017-12-22 16:35:52

password_lifetime: NULL

account_locked: N

1 row in set (0.00 sec)

可以看到Select_priv,Insert_priv,Update_priv...等为N表示没有权限,该用户权限一目了然。

继续咱们的为用户授予权限,现在我们为用户授予部分权限:

mysql>grant select,insert,update,delete,create,drop on test_db.user to admin@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户admin分配可对数据库test_db的user表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on test_db.* to admin@10.10.10.87 identified by ‘123′;

给来自10.163.225.87的用户admin分配可对数据库test_db所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to admin@10.10.10.87 identified by ‘123′;

给来自10.163.225.87的用户admin分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123

mysql>grant all privileges on *.* to admin@localhost identified by ‘123′;

给本机用户admin分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

删除用户:

@>mysql -u root -p

@>密码

mysql>DELETE FROM mysql.user WHERE User="admin"

mysql>flush privileges;

//删除用户的数据库

mysql>drop database test_db;

修改指定用户密码:

@>mysql -u root -p

@>密码

mysql>update mysql.user set password=password('新密码')  where User=”jeecn” and Host="localhost";

mysql>flush privileges;

mysql>quit;

---------------------

作者:顾米楠

来源:CSDN

原文:https://blog.csdn.net/qq_38350907/article/details/78873414

版权声明:本文为博主原创文章,转载请附上博文链接!

mysql linux 用户_Linux mysql添加用户,删除用户,以及用户权限相关推荐

  1. mysql 用户授权_mysql添加、删除用户和授权用户

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  2. linux 移除用户所在的组,Linux用户及用户组添加和删除操作

    查看用户 whoami #要查看当前登录用户的用户名 who am i #表示打开当前伪终端的用户的用户名 who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部-d ...

  3. linux mysql博客_linux mysql

    一 数据库安装查看: [root@localhost info Mariadb #包组 mariadb-server #服务器端 [root@localhost ~]# yum groupinfo M ...

  4. linux mysql开启事务_linux mysql 相关操作命令

    1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...

  5. linux 版本mysql 数据乱码_linux mysql 数据库乱码

    mysql中文乱码 mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1. ...

  6. linux mysql 主从数据库_linux mysql数据库的主从配置

    一.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ...

  7. mysql linux 手动安装mysql服务_Linux手动安装Mysql

    以下是摘自mysql官方文档中关于手动安装MySQL 二进制分发版的说明: 一:安装 必须执行以便安装并使用MySQL 二进制分发版的基本命令是: shell groupadd mysql shell ...

  8. linux 修改mysql root密码_Linux mysql如何更改root密码

    说到root密码,很多人想到的是电脑系统的root账号密码,其实mysql也有root密码,那么在Linux系统中,mysql要如何修改root密码呢?特别是忘记了root密码要怎么办? 通过登录my ...

  9. mysql linux设置密码_Linux下第一次使用MySQL数据库,设置密码

    在终端下输入:/etc/rc.d/init.d/mysqld status 查看MySQL状态,看看是否运行. 没有运行的话就输入:/etc/rc.d/init.d/mysqld start 这时,就 ...

最新文章

  1. Qt分析:Qt中的两种定时器
  2. 2018华为软件精英挑战赛总结
  3. Leaflet文档阅读笔记-Extending Leaflet: Handlers and Controls笔记
  4. 小米A3真机开箱照片曝光:水滴屏+后置三摄
  5. windows系统bat批处理 一键添加共享打印机
  6. 图解Gram matrix
  7. 基于JavaWeb的汽车销售管理系统
  8. 如何将PPT中的图片无改变矢量图插入word中以及matlab矢量图插入word方法【每天一个小技巧】
  9. ACM程序设计大赛简介
  10. url在传递的过程中要先进行一个转码,然后再进行解码,url的转码,url的解码
  11. KeyError: 'labels [189] not contained in axis' Python DataFrame 合并后使用loc进行索引的时候出错问题分析以及解决方案
  12. 豚鼠学习HTML前端第一周
  13. 读文献——《Going deeper with convolutions》
  14. MIUI 10——启用与关闭开发者模式/开发者选项
  15. distill介绍及优秀博客记录
  16. PMP,项目经理职业生涯不可或缺
  17. 视频教程-7步搞定Word样式和模板高效排版-Office/WPS
  18. 复杂业务系统的架构设计思路
  19. 张家界协力学校计算机班,张家界协力学校交通顽瘴痼疾整治见成效
  20. 新版本 印象笔记 markdown语法大全 !!!

热门文章

  1. effective c++:virtual函数在构造函数和析构函数中的注意事项
  2. jenkins 安装 和自动部署的 一些配置
  3. Just do IT --- gulp
  4. 【LeetCode】11. Container With Most Water 解题小结
  5. Java使用HTTPClient4.3开发的公众平台消息模板的推送功能
  6. [沈航软工教学] 团队项目地址汇总
  7. ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败
  8. python创建控件,用 IronPython 创建和调用用户控件.doc
  9. centOS 8+VMwware配置(2)
  10. 1000道Python题库系列分享20(43道填空与判断题)