- 浏览: 399741 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (198)
- java (28)
- J2EE (19)
- struts (33)
- sping (13)
- hibernate (18)
- mybatis (15)
- connection pool (3)
- DB (26)
- SQL (21)
- html (13)
- js (7)
- json (3)
- jquery (2)
- document (17)
- linux (15)
- C# (1)
- url (2)
- eweb4j (1)
- Turbine (1)
- 框架 (11)
- jdbcTemplate (3)
- aop (2)
- windows (2)
- ubuntu (1)
- eclipse (11)
- JPA (8)
- svn (4)
- get 传值 (2)
- mysql (5)
- oracle (2)
- hadoop (1)
- MongoDB (2)
- spring (1)
- python (1)
最新评论
-
jcbingjc:
楼主,你好,按照上面的配置,我报如下错误:Missing Pe ...
[properJavaRDP]在网页中实现远程连接 -
sucful:
折腾了半天跑不通 ,要传就搞个完整的吧
Struts2 <sx:div/>实现页面模块异步刷新 -
Kattou:
你好! 看了你写的这个分页 感觉很好, 但是不怎么会用么,请指 ...
jsp分页控件 -
我叫PSB:
地址完全用不了
eclipse中的安装 jseclipse -
1111emotion:
我的工程里还是有乱码的情况,我该改的地方都改了。
Eclipse/MyEclipse更改默认字符集 设置UTF-8
1.CREATE USER
CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...
CREATE USER用于创建新的MySQL账户。要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。对于每个账户,CREATE USER会在没有权限的mysql.user表中创建一个新记录。如果 账户已经存在,则出现错误。
使用自选的IDENTIFIED BY子句,可以为账户给定一个密码。user值和 密码的给定方法和GRANT语句一样。特别是,要在纯文本中指定密码,需忽略PASSWORD关键词。要把 密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD。
2.使用GRANT语句
最好的方法是使用GRANT语句,因为这样更精确,错误少。从MySQL 3.22.11起提供了GRANT;它的主要用途是来给帐户授权的,但也可用来建立新帐户并同时授权。注意:当mysql运行于no_auto_create_user时要提供新建用户的密码,否则不能创新用户。
下面的示例说明如何使用MySQL客户端程序来设置新用户。
首先,使用MySQL程序以MySQL root用户来连接服务器:
shell> MySQL --user=root MySQL
如果你为root账户指定了密码,还需要为该MySQL命令和本节中的其它命令提供--password或-p选项。
以root连接到服务器上后,可以添加新账户。下面的语句使用GRANT来设置四个新账户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
用GRANT语句创建的账户有下面的属性:
· 其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。请注意monty的两个账户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体,这样在user表排序顺序中排在前面。(user表排序的讨论要参考mysql手册)。
· 一个账户有用户名admin,没有密码。该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。
· 一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。
3.直接操作MySQL授权表
除了GRANT,你可以直接用INSERT语句创建相同的账户,然后使用FLUSH PRIVILEGES告诉服务器重载授权表。
shell> mysql --user=root mysql
mysql> INSERT INTO user
-> VALUES('localhost','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user
-> VALUES('%','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user SET Host='localhost',User='admin',
-> Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('localhost','dummy','');
mysql> FLUSH PRIVILEGES;
当你用INSERT创建账户时使用FLUSH PRIVILEGES的原因是告诉服务器重读授权表。否则,只有重启服务器后更改方会被注意到。使用 GRANT,则不需要使用FLUSH PRIVILEGES。
用INSERT使用PASSWORD()函数是为了加密密码。GRANT语句为你加密密码,因此不需要PASSWORD()。
'Y'值启用账户权限。对于admin账户,还可以使用更加可读的INSERT扩充的语法(使用SET)。
在为dummy账户的INSERT语句中,只有user表中的Host、User和Password列记录为指定的值。没有一个权限列为显式设置,因此MySQL将它们均指定为 默认值'N'。这样等同于GRANT USAGE的操作。
请注意要设置超级用户账户,只需要创建一个权限列设置为'Y'的user表条目。user表权限为全局权限,因此其它 授权表不再需要条目。
4.举几个应用grant创建帐户和授权的例子
下面的例子创建3个账户,允许它们访问专用数据库。每个账户的用户名为custom,密码为obscure。
要想用GRANT创建账户,使用下面的语句:
shell> MySQL --user=root MySQL
shell> mysql --user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON bankaccount.*
-> TO 'custom'@'localhost'
-> IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON expenses.*
-> TO 'custom'@'whitehouse.gov'
-> IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON customer.*
-> TO 'custom'@'server.domain'
-> IDENTIFIED BY 'obscure';
这3个账户可以用于:
· 第1个账户可以访问bankaccount数据库,但只能从本机访问。
· 第2个账户可以访问expenses数据库,但只能从主机whitehouse.gov访问。
· 第3个账户可以访问customer数据库,但只能从主机server.domain访问。
要想不用GRANT设置custom账户,使用INSERT语句直接修改 授权表:
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('localhost','custom',PASSWORD('obscure'));
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('whitehouse.gov','custom',PASSWORD('obscure'));
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('server.domain','custom',PASSWORD('obscure'));
mysql> INSERT INTO db
-> (Host,Db,User,Select_priv,Insert_priv,
-> Update_priv,Delete_priv,Create_priv,Drop_priv)
-> VALUES('localhost','bankaccount','custom',
-> 'Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db
-> (Host,Db,User,Select_priv,Insert_priv,
-> Update_priv,Delete_priv,Create_priv,Drop_priv)
-> VALUES('whitehouse.gov','expenses','custom',
-> 'Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db
-> (Host,Db,User,Select_priv,Insert_priv,
-> Update_priv,Delete_priv,Create_priv,Drop_priv)
-> VALUES('server.domain','customer','custom',
-> 'Y','Y','Y','Y','Y','Y');
mysql> FLUSH PRIVILEGES;
前3个INSERT语句在user表中加入条目,允许用户custom从各种主机用给定的密码进行连接,但不授予全局权限(所有权限设置为 默认值'N')。后面3个INSERT语句在user表中加入条目,为custom授予bankaccount、expenses和customer数据库权限,但只能从合适的主机访问。通常若直接修改 授权表,则应告诉服务器用FLUSH PRIVILEGES重载授权表,使权限更改生效。
如果你想要让某个用户从给定域的所有机器访问(例如,mydomain.com),你可以在账户名的主机部分使用含'%'通配符的GRANT语句:
mysql> GRANT ...
-> ON *.*
-> TO 'myname'@'%.mydomain.com'
-> IDENTIFIED BY 'mypass';
要想通过直接修改授权表来实现:
mysql> INSERT INTO user (Host,User,Password,...)
-> VALUES('%.mydomain.com','myname',PASSWORD('mypass'),...);
mysql> FLUSH PRIVILEGES;
5.创建账户的其它方法是使用MySQL账户管理功能的第三方程序。phpMyAdmin即是一个程序。
从MySQL删除用户账户
要想移除账户,应使用DROP USER语句。
发表评论
-
SQL匹配度查询
2017-07-18 15:46 1846SELECT (IF(LOCATE('RK', SJXBSF ... -
MariaDB导出导入命令
2017-02-07 09:44 2118导出: mysqldump -h127.0.0.1 -P3 ... -
MySQL 5.7 使用原生JSON类型的例子
2016-12-17 18:13 1390首先回顾一下JSON的语法规则: 数据在键值对中, 数据 ... -
MySQL5.7 配置说明Windows
2016-12-17 18:12 546一、配置文件my.ini的位置 隐藏文件夹:C:\Prog ... -
Oracle建立表空间和用户
2016-06-24 11:30 548Oracle建立表空间和用户 ... -
oracle数据库导入导出命令
2016-06-24 11:01 728Oracle数据导入导出imp ... -
oracle记录
2014-02-21 17:27 86037 oracle记录 create tab ... -
sql优化 mysql优化 检索效率注意20项
2012-07-03 11:19 21231、通配符尽量避免2 ... -
Mysql索引优化
2012-07-02 13:38 1115为什么使用索引 提高查询效率 降低数据排序成分 - - ... -
mysql与mssql的区别
2012-07-02 11:01 2035对于程序开发人员而言 ... -
SQL字符串处理函数大全
2012-04-19 09:36 974select语句中只能使用sql函数对字段进行操作(链接s ... -
Linux下安装MYSQL 5.0 应该对mysql进行必要设置
2011-11-06 10:52 12471、下载MySQL的安装文件 安 ... -
mysql数据库自动备份与恢复
2011-11-07 12:07 1376创建目录/home/zf/mysqlBack/#添加以下 ... -
mysql基本命令总结
2011-11-07 12:08 1105数据库asb 表yg 一.mysql的常用命 ... -
MySQL中show 句法得到表列及整个库的详细信息(精品珍藏)
2011-11-07 12:08 1049show databases;show tables ... -
MSSQL服务器/数据库角色说明
2011-11-08 08:07 1467七种常用固定服务器角色 系统管理员:拥有SQL SE ... -
MYSQL设置远程用户连接
2011-11-15 08:48 947011年05月21日 星期六 13时25分16秒MySQL安装 ... -
MySQL 用户权限分配 Grant 语法详解
2011-11-16 00:07 2411MySQL 赋予用户权限命令的简单格式可概括为: g ... -
SQL LIKE 通配符的用法
2011-11-18 10:01 1726_ 与任意单字符匹配 % 与包含一个或多个 ... -
SQL语句实现按关健字模糊查询,并按匹配度排序
2011-11-19 11:54 2277今天有人在CSDN上问,我就随手写了一段. ...
相关推荐
在 MySQL 中创建用户有两种方法:使用 CREATE USER 命令和使用 GRANT 命令。 使用 CREATE USER 命令 CREATE USER 命令用于创建新的 MySQL 账户。要使用 CREATE USER,您必须拥有 mysql 数据库的全局 CREATE USER ...
"国家开放大学 MySQL数据库应用实验训练1 在MySQL中创建数据库和表" 本实验训练旨在让学生掌握 MySQL 中的数据库和表的创建过程。 MySQL 是一种关系型数据库管理系统,广泛应用于各种领域。为提高学生的实践能力,...
在这个名为"MySql示例1:创建账户表及测试数据.zip"的压缩包中,我们很显然会发现一个关于如何在MySQL中创建账户表并填充测试数据的教学示例。下面,我们将深入探讨这个主题。 首先,创建一个账户表通常涉及设计...
安装完成后,需要配置MySQL的启动参数和账户信息,包括设置root密码、添加用户账户等。 二、创建数据库 创建数据库是MySQL管理的基础步骤之一,使用CREATE DATABASE语句可以创建新的数据库。例如,创建“汽车用品...
1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 ...MySQL创建数据库与创建用户以及授权相关SQL语句,摘自博客http://www.cnblogs.com/janken/p/5500320.html
### 在Qt中创建MySQL数据库 #### 一、简介与背景 在现代软件开发中,图形用户界面(GUI)的应用程序非常普遍,而Qt作为一个跨平台的C++图形用户界面应用程序开发框架,在桌面应用开发领域拥有广泛的应用。对于需要...
MySQL中的用户账户由用户名和主机名组成,例如`username@hostname`。用户名是用户登录的标识,而主机名则指定用户可以从哪个主机或IP地址连接到数据库服务器。在大多数情况下,主机名可能是`localhost`(本地连接)...
本文详细介绍了如何在 Windows 7 64位环境下配置 MySQL 5.6 免安装版,并对其进行了初始化配置,同时介绍了如何解决启动过程中可能遇到的问题,以及如何修改 root 用户密码和创建新用户的方法。通过以上步骤,可以在...
- 打开“控制面板”->“用户账户”->“管理其他账户”->“添加新用户”。 - 输入用户名“mysqluser”,并设置密码。 - 在“账户类型”中选择“标准用户”。 - 取消勾选“用户可以更改密码”和“密码永不过期”。...
`命令,将当前操作环境切换至mysql系统数据库,因为所有用户账户信息都存储在这个数据库中。 3. **创建新用户**:使用`GRANT`语句创建新用户,并指定用户的主机地址(通常是IP地址或'localhost')和密码。 ```sql...
在日常的数据库管理工作中,我们可能会遇到MySQL根用户root密码遗忘的情况。这可能会导致无法登录数据库进行管理和维护工作。本文将详细介绍几种有效的解决方法来帮助用户找回或重置root用户的密码。 #### 方法一:...
在数据库管理中,为了确保数据的安全性和可控性,经常需要创建新的用户账户,并为这些账户分配特定的权限。MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了强大的用户管理和权限控制功能。其中,`GRANT`...
可以用两种方式创建MySQL账户: 1.使用GRANT语句 2.直接操作MySQL授权表 最好的方法是使用GRANT语句,因为这样更精确,错误少。 创建超级用户: 代码如下: mysql> GRANT ALL PRIVILEGES ON *.* TO ‘monty’@’...
在MySQL中,管理员可以通过GRANT和REVOKE语句来创建用户账户、授予和撤销权限。这有助于确保数据库的安全性和数据的完整性。 首先,GRANT语句用于创建新用户账户并赋予特定的权限。例如,`GRANT SELECT, INSERT ON ...
5. **安全性**:这部分会讲解如何创建和管理用户账户,设置权限,以及使用GRANT和REVOKE语句控制对数据库的访问。 6. **复制与集群**:MySQL的复制功能允许数据在多个服务器之间同步,提供高可用性和负载均衡。手册...
MySQL 账号 权限, 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建