mysql用户主机设置密码_MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)...
1.添加MySQL账户
mysql> GRANT ALL PRIVILEGES ON *.* TO
‘www’@'localhost’IDENTIFIED BY ’123456′ WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘www’@'%’IDENTIFIED
BY ’123456′ WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO
‘admin’@'localhost’;
mysql> GRANT USAGE ON *.* TO ‘dummy’@'localhost’;
用GRANT语句创建的账户有下面的属性:
前两个账户有相同的用户名www和密码123456。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户
(‘www’@'localhost’)只用于从本机连接时。另一个账户(‘www’@'%’)可用于从其它主机连接。请注意www的两个账户必须能从任何主机以www连接。没有localhost账户,当www从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,www将被视为匿名用户。原因是匿名用户账户的Host列值比’www’@'%’账户更具体,这样在user表排序顺序中排在前面。
一个账户有用户名admin,没有密码。该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin
reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin
processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。
一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为’N'。假定你将在以后将具体权限授予该账户。
2.从MySQL删除用户账户
要想移除账户,应使用DROP USER语句:
DROP USER user [, user] …
3.限制账户资源
要想用GRANT语句设置资源限制,使WITH子句来命名每个要限制的资源和根据每小时记数的限制值。例如,要想只以限制方式创建可以访问customer数据库的新账户,执行该语句:
mysql> GRANT ALL ON customer.* TO
‘francis’@'localhost’
-> IDENTIFIED BY ‘frank’
-> WITH MAX_QUERIES_PER_HOUR 20
-> MAX_UPDATES_PER_HOUR 10
-> MAX_CONNECTIONS_PER_HOUR 5
-> MAX_USER_CONNECTIONS 2;
要想设置或更改已有账户的限制,在全局级别使用GRANT
USAGE语句(在*.*)。下面的语句可以将keer的查询限制更改为200:
mysql> GRANT USAGE ON *.* TO ‘keer’@'localhost’ WITH
MAX_QUERIES_PER_HOUR 200;
该语句没有改变账户的已有权限,只修改了指定的限制值。
要想取消已有限制,将该值设置为零。例如,要想取消keer每小时可以连接的次数的限制,使用该语句:
mysql> GRANT USAGE ON *.* TO ‘keer’@'localhost’ WITH
MAX_CONNECTIONS_PER_HOUR 0;
当账户使用资源时如果有非零限制,则对资源使用进行记数。
4.设置账户密码
可以用mysqladmin命令在命令行指定密码:
shell> mysqladmin -u username -h hostname password
“yourpassword”
该命令重设密码的账户为user表内匹配User列的username和Host列你发起连接的客户端的记录。
为账户赋予密码的另一种方法是执行SET PASSWORD语句:
mysql> SET PASSWORD FOR ‘www’@'%’ =
PASSWORD(’123456′);
只有root等可以更新mysql数据库的用户可以更改其它用户的密码。如果你没有以匿名用户连接,省略FOR子句便可以更改自己的密码:
mysql> SET PASSWORD = PASSWORD(’123456′);
你还可以在全局级别使用GRANT USAGE语句(在*.*)来指定某个账户的密码而不影响账户当前的权限:
mysql> GRANT USAGE ON *.* TO ‘www’@'%’ IDENTIFIED BY
’123456′;
一般情况下最好使用上述方法来指定密码,你还可以直接修改user表:
要想在创建新账户时建立密码,在Password列提供一个值:
shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password)
VALUES(‘%’,'www’,PASSWORD(’123456′));
mysql> FLUSH PRIVILEGES;
要想更改已有账户的密码,使用UPDATE来设置Password列值:
shell> mysql -u root mysql
mysql> UPDATE user SET Password = PASSWORD(’123456′) WHERE
Host = ‘%’ AND User = ‘www’;
mysql> FLUSH PRIVILEGES;
当你使用SET
PASSWORD、INSERT或UPDATE指定账户的密码时,必须用PASSWORD()函数对它进行加密。(唯一的特例是如果密码为空,你不需要使用PASSWORD())。需要使用PASSWORD()是因为user表以加密方式保存密码,而不是明文。如果你忘记了,你可能会象这样设置密码:
shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password)
VALUES(‘%’,'www’,’123456′);
mysql> FLUSH PRIVILEGES;
结果是密码’123456′保存到user表后没有加密。当www使用该密码连接服务器时,值被加密并同保存在user表中的进行比较。但是,保存的值为字符串’123456′,因此比较将失败,服务器拒绝连接:
shell> mysql -u www -p 123456 test
Access denied
当然你使用GRANT … IDENTIFIED BY语句或mysqladmin
password命令设置密码,它们均会加密密码。在这种情况下,不需要使用 PASSWORD()函数。
5.设置账号远程访问
有些时候创建的数据库账号都是针对数据库服务器本地的,在集群中mysql数据库是共用的,那就需要给出一个账号能够让集群中的其他服务器远程访问,具体操作如下
mysql> use mysql;
mysql> GRANT ALL ON *.* TO www@’%’ IDENTIFIED BY ’123456′
WITH GRANT OPTION;
#注解:允许任何IP地址的主机用【www】帐户和密码【123456】来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。root帐户是无法远程登陆的,只可以localhost登陆
测试使用下面命令即可
mysql -h *.*.*.* -u www -p 123456
在测试的发现了一个问题
mysql -h localhost -u www -p 123456
如下命令我在本地用localhost访问是失败的,google之后才发现原来上面的’%'居然不包括localhost的,所以为了本地也能方位数据库需要再加上下面一句
mysql> GRANT ALL ON *.* TO www@’localhost’ IDENTIFIED BY
’123456′ WITH GRANT OPTION;
okay,测试通过
mysql用户主机设置密码_MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)...相关推荐
- 删除mysql主键语句_MySQL主键添加/删除
2改动数据库和表的字符集 alter database maildb default character set utf8;//改动数据库的字符集 alter table mailtable defa ...
- 给mysql用户授权命令_mysql添加用户并授权的命令(示例)
本节内容: mysql用户授权命令与mysql常用命令. 1,新建(添加)用户. 复制代码 代码示例: //登录MYSQL >mysql -u root -p >密码 //创建用户 mys ...
- mysql 用户与数据_MySQL经验9-用户和数据安全
mysql心得9--用户和数据安全 1. 添加用户 可以使用CREATE USER语法添加一个或多个用户,并设置相应的密码. 语法格式: CREATE USER user [identified B ...
- mysql存储业务日志_MySQL 日志管理
一.MySQL 日志 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql数据库的客户端连接状况.SQL语句的执行情况和错误信息等.当数 ...
- Linux的MySQL用户编程使用_MySQL数据库在linux的安装,编程与操作
来自:http://blog.csdn.net/lxh090821/article/details/9410943 1 登录数据库 格式: MySQL -h主机地址 -u用户名 -p用户密 ...
- mysql 用户划表_mysql用户表
mysql5.6中mysql.user表 一些特殊符号: 在myql中% *是通配符, ::1 是IPv6格式的 127.0.0.1 Host列指定了允许用户登录所使用的IP,比如user=root ...
- mysql用户控制登录_MySql用户权限控制_MySQL
bitsCN.com MySql用户权限控制 本文将介绍MySql创建帐号,删除帐号,设置和介绍各种帐号的权限 创建用户帐号: www.bitsCN.com [sql] CREATE USER use ...
- 如何给远程计算机添加用户,如何访问远程计算机以添加/删除/管理用户帐户?...
我有一个场景,我需要访问远程计算机以编程方式添加和删除Windows用户帐户 . 远程机器是一个"备用工作站",我需要远程配置,准备好以防万一主工作站需要更换 - 所以这里没有安全 ...
- mysql用户replace权限_mysql查看用户的权限脚本
1.安装mysql支持python包 yum -y install mysql-connector-python 2.查看MySQL 用户权限的Python脚本 vi py_priv.py #!/us ...
- mysql查看主机名_mysql怎么看主机名
mysql查看主机名的方法: 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法: 在终端窗口中,主机名通常位于@符号后:root@lzyws739307453:~#,例如这个的主机名就是 ...
最新文章
- ios: coreData的NSManagedObject setvalue为null
- 让你的 wowza server提供 RESTful web 服务
- VTK:图片之ImageOpenClose3D
- CSS3的box-shadow属性:给指定的区域加阴影
- Oracle 10G select工作原理
- fastq质量值_fastq 数据格式解析
- git 怎么提交忽略文件夹_git 设置忽略文件提交的几种方式
- python绘制散点图的步骤_python如何绘制散点图?
- 转:Vim中显示不可见字符
- SpringCloud工作笔记070---SpringCloud中使用Redis存储List类型数据
- Win7精简成功后的总结
- 无法定位libjasper-dev
- 文学家是什么时候出现的
- 每日一题: 第十四题
- WSL2 通过 USBIP 连接USB串口设备 JetsonUSB备份刷机
- 计算某一天是星期几(C语言,可运行)
- PHPExcel 锁定表头 设置样式,背景颜色,居中,宽,单元格合并
- L19-python核心编程-面向对象编程(day1、2)
- np.log1p()取对数符合正态分布
- 前端面试题(react)