15.2、账户管理

15.2.1、登录和退出MySQL服务器

mysql –hhostname|hostIP –P port –u username –p[password] databaseName –e “SQL语句”

-h               主机名或ip
-P               port[3306]
-u               username
-p               -p[password]                注意,之间没有空格
-e               执行SQL语句                SQL用双引号括起

可以用此语句配合操作系统定时任务,达到自动处理表数据的功能,如定时将某表中过期的数据删除。

15.2.2、新建立普通用户

1、用CREATE USER语句新建

CREATE USER user [IDENTIFIED BY [PASSWORD]’password’]
     [,user [IDENTIFIED BY [PASSWORD]’password’]]...

2、用INSERT语句来新建普通用户

INSERT INTOmysql.user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
VALUES (‘localhost’,’test2’,PASSWORD(‘test2’),’’,’’,’’);
FLUSH PRIVELEGES;

3、用GRANT语句来新建普通用户

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD]’password
[,user[IDENTIFIED BY [PASSWORD]’password’]]...

15.2.3、删除普通用户

1、用DROP USER语句来删除普通用户

  DROP USER user [,user]…;

例:drop user ‘test’@’localhost’;

2、用DELETE语句来删除普通用户

DELETE FROM mysql.user WHERE user=’username’ and host=’hostname’;
FLUSH PRIVILEGES;

15.2.4、root用户修改自己的密码

1、使用mysqladmin命令来修改root用户的密码

mysqladmin –u username –p password “new_password”;

2、修改user表

UPDATE mysql.user SET password=PASSWORD(“new_password”) WHERE user=’root’and host=’’;
FLUSH PRIVILEGES;

3、使用SET语句来修改root用户的密码

SET PASSWORD=PASSWORD(“new_password”);

15.2.5、root用户修改普通用户密码

1、使用mysqladmin命令

  不适用,mysqladmin只能修改root 用户密码

2、修改user表

UPDATE mysql.user SET password=PASSWORD(“new_password”) WHERE user=’’ andhost=’’;
FLUSH PRIVILEGES;

3、使用SET语句来修改普通用户的密码

  SET PASSWORD FOR ‘user’@’localhost’=PASSWORD(“new_password”);

4、用GRANT语句来修改普通用户的密码

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD]’password
[,user[IDENTIFIED BY [PASSWORD]’password’]]...

15.2.6、普通用户修改密码

SET PASSWORD=PASSWORD(“new_password”);

15.2.7、root用户密码丢失的解决办法

1、使用—skip-grant-tables选项来启动MySQL服务

>mysqld –skip-grant-tables

#/etc/init.d/mysql start –mysqld –skip-grant-tables

2、登录root,设置新密码

mysql –u root
update mysql.user set password=password(“new_password”) where user=’root’and host=’localhost’;

3、加载权限表

  fush privileges;

15.3、权限管理

15.3.1、MySQL的各种权限

create, select, update, delete

all [privileges]               指所有权限

15.3.2、授权

GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...
    ON [object_type] {tbl_name | *| *.* | db_name.*}
    TO user [IDENTIFIED BY[PASSWORD] 'password']
        [, user [IDENTIFIED BY[PASSWORD] 'password']] ...
    [REQUIRE
        NONE |
        [{SSL| X509}]
        [CIPHER 'cipher' [AND]]
        [ISSUER 'issuer' [AND]]
        [SUBJECT 'subject']]
    [WITH with_option [with_option]...]

object_type =
    TABLE
  | FUNCTION
  | PROCEDURE

with_option =
    GRANT OPTION
  | MAX_QUERIES_PER_HOUR count
  | MAX_UPDATES_PER_HOUR count
  | MAX_CONNECTIONS_PER_HOUR count
  | MAX_USER_CONNECTIONS count

grant select, insert, update, delete on testdb.* tocommon_user@'%'

database.table             *.*所有库的所有表
user                     ‘user’@’host’

15.3.3、收回权限

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
    ON [object_type] {tbl_name | *| *.* | db_name.*}
    FROM user [, user] ...

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

MySQL基础之第15章 MySQL用户管理的更多相关文章

  1. MySQL基础之第13章 MySQL函数

    13.1.数学函数 随机数可能会用到,其他基本无视. 13.2.字符串函数 重点CONCAT(S1,S2….) 13.3.日期和时间函数 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+ ...

  2. MySQL基础之第17章 MySQL日志

    17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...

  3. MySQL基础之第4章 MySQL数据类型

    4.1.整数类型 tinyint(4)smallint(6)mediumint(9)int(11)bigint(20) 注意:后面的是默认显示宽度,以int为例,占用的存储字节数是4个,即4*8=32 ...

  4. mysql数据库优化课程---15、mysql优化步骤

    mysql数据库优化课程---15.mysql优化步骤 一.总结 一句话总结:索引优化最立竿见影 1.mysql中最常用最立竿见影的优化是什么? 索引优化 索引优化,不然有多少行要扫描多少次,1亿行大 ...

  5. MySQL基础之第2章 Windows平台下安装与配置MySQL

    2.1.msi安装包 2.1.1.安装 特别要注意的是,安装前要删除原来的my.ini和原来的data目录,改名也行,不然在最后一步会“apply security settings”报个1045错误 ...

  6. mysql基础:登录退出,修改用户密码,添加删除用户

    今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...

  7. mysql基础之数据库变量(参数)管理

    数据库的数据存放路径:[root@ren7 mysql]# pwd /var/lib/mysql [root@ren7 mysql]# ls aria_log.00000001 ibdata1 mul ...

  8. 【夯实Mysql基础】记一次mysql语句的优化过程

    1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...

  9. 【夯实Mysql基础】记一次mysql语句的优化过程!

      1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同 ...

随机推荐

  1. JDK安装(windows/linux)

    双击安装...安装之后需要进行一些相关的配置工作...下面是我自己总结的安装和配置步骤: (1)非Win7系统 第一步:安装jdk,下载地址:http://www.oracle.com/technet ...

  2. JavaWeb项目开发案例精粹-第4章博客网站系统-004Service层

    1. package com.sanqing.service; import java.util.List; import com.sanqing.fenye.Page; import com.san ...

  3. 编写基于outlook显示的html邮件需要注意的问题

    outlook对于html的支持是有限制的,在编写这些html的时候注意遵循以下规则: Never use colspans or rowspans. Always set correct dimen ...

  4. 针对安卓java入门:类和对象

    定义类 class Dog { String name; int age; void jump(){ } } 生成对象: public class Test { public static void ...

  5. swift:创建九宫格

    九宫格的创建是有规律可循的,每一个格子的水平和竖直方向的间隔是固定的,通过计算每一个格子的位置,然后把它们依次放到视图中即可. 一般的步骤为: 1.设置格子的总个数和每一列的格子数 2.求格子的间隔: ...

  6. SQL SERVER ->> CXPacket等待类型

    最近做了一个项目,把整个数据仓库平台下所有的表和索引都改成页级别的数据压缩.昨天发现测试环境下的某个workload跑得比平时慢.最后我们定位了到这个workload做的事情中可能造成性能下降的地方, ...

  7. 查找当前SQL Server下的Active Session正连接着哪个数据库

    今天碰到个事.原本想把数据库设为单用户模式然后把REMOVE FILE.没想到悲剧了.因为很多进程都是需要远程连接这个库,导致别的进程抢在我前面连接了这个数据库,反到我连不上了.想把数据库切回MULT ...

  8. 将web项目deploy到tomcat的方法

    如果已经把整个项目发布到tomcat的webapps文件夹下,就不用再配置tomcat的server.xml了(也就是不用配置<Context>节点) 并且,你的项目的WEB-INF/li ...

  9. javascript 网络是否连接的几种方案

    js   网络是否连接的几种方案 1.通过html5的新属性: window.onload = function () {            var isOnLine = navigator.on ...

  10. 易犯的PHP小错误及相应分析

    变量声明如果在一条语句中声明一个变量,如下所示:$var = 'value'; 编译器首先会求出语句右半部分的值,恰恰正是语句的这一部分常常会引发错误.如果使用的语法不正确,就会出现解析错误. 解析错 ...