MySQL基础之第15章 MySQL用户管理
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用户管理的更多相关文章
- MySQL基础之第13章 MySQL函数
13.1.数学函数 随机数可能会用到,其他基本无视. 13.2.字符串函数 重点CONCAT(S1,S2….) 13.3.日期和时间函数 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+ ...
- MySQL基础之第17章 MySQL日志
17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...
- MySQL基础之第4章 MySQL数据类型
4.1.整数类型 tinyint(4)smallint(6)mediumint(9)int(11)bigint(20) 注意:后面的是默认显示宽度,以int为例,占用的存储字节数是4个,即4*8=32 ...
- mysql数据库优化课程---15、mysql优化步骤
mysql数据库优化课程---15.mysql优化步骤 一.总结 一句话总结:索引优化最立竿见影 1.mysql中最常用最立竿见影的优化是什么? 索引优化 索引优化,不然有多少行要扫描多少次,1亿行大 ...
- MySQL基础之第2章 Windows平台下安装与配置MySQL
2.1.msi安装包 2.1.1.安装 特别要注意的是,安装前要删除原来的my.ini和原来的data目录,改名也行,不然在最后一步会“apply security settings”报个1045错误 ...
- mysql基础:登录退出,修改用户密码,添加删除用户
今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...
- mysql基础之数据库变量(参数)管理
数据库的数据存放路径:[root@ren7 mysql]# pwd /var/lib/mysql [root@ren7 mysql]# ls aria_log.00000001 ibdata1 mul ...
- 【夯实Mysql基础】记一次mysql语句的优化过程
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程!
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同 ...
随机推荐
- adt导入已经存在于workspace中的项目
场景: Eclipse中某android项目被delete,但是并未勾选“delete project contents from disk(cannot be undone)”.删除后,下次再想打开 ...
- ios开发--animation flash动画
/** * showAnimationFlash */ + (void)showAnimationFlashWithView:(UIView *)animationView durati ...
- ThreadLocal实现session中用户信息 的线程间共享(精)
ThreadLocal并不难理解,我总结的最简单的理解就是: ThreadLocal像其它变量一样(局部.全局.静态)也是一种变量类型,只是他是线程变量,更直白的说他是一种变量作用域,即他的作用域是当 ...
- 使用 Dalvik 调试监控服务 (DDMS) 工具
Android 附带一个叫Dalvik 调试监控服务 (DDMS) 的调试工具,它提供端口转发服务.在设备上的屏幕捕获,设备上的线程和堆栈信息, logcat,进程, 和无线状态信息,接收呼叫和SMS ...
- [转]设置控件全局显示样式appearance proxy
转自:huifeidexin_1的专栏 appearance是apple在iOS5.0上加的一个协议,它让程序员可以很轻松地改变某控件的全局样式(背景) @selector(appearance) 支 ...
- HDU 4617 Weapon 三维计算几何
题意:给你一些无限长的圆柱,知道圆柱轴心直线(根据他给的三个点确定的平面求法向量即可)与半径,判断是否有圆柱相交.如果没有,输出柱面最小距离. 一共只有30个圆柱,直接暴力一下就行. 判相交/相切:空 ...
- SQL创建链接服务器
二.--创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址' exec sp_addlinkedsrvlogin ...
- JavaScript —— 如何判断一个非数字输入
在页面里,如何用JS去判断一个用户输入是不是一个数字. 你是不是首先想到了正则表达式? JS里有个现成的函数,isNaN(x) isNaN(x) 函数可用于判断其参数是否是 NaN(Not a Num ...
- POJ 1322 Chocolate(母函数)
题目链接:http://poj.org/problem?id=1322 题意: 思路: double C[N][N]; void init() { C[0][0]=1; int i,j; for(i= ...
- hibernate学习笔记4---HQL、通用方法的抽取实现
一.通用方法的抽取实现 由于hibernate中对增删改查的一切操作都是面向对象的,所以将增删改查抽取成通用方法,以满足不同的表的增删改查操作,简化jdbc代码. 具体例子如下: package cn ...