在MYSQL中,你可以根据自己的需要定制不同的用户。比如,定制来自某些IP地址的用户可以访问,并且给这些
用户设置密码。搭配权限的设置,你还可以进一步限定用户的权限范围,比如说仅仅让一个用户只能访问某一个库,并且只能对这个数据库拥有insert和
select权限。
1.添加一个mysql用户
有两种方式来添加mysql用户:
①使用grant语句
②使用mysql授权表
事
实上,MYSQL中所有关于用户的信息都保存在名字为mysql的这个库中对应的表当中。使用GRANT语句添加用户,实际上是把你在语句中设定的内容写
入mysql库中对应的表里面。因此,直接操作mysql库中对应的表也可以添加用户。不过推荐大家使用GRANT语句来创建新用户,因为这样更加方便。
使用grant语句添加用户
mysql> GRANT ALL PRIVILEGES ON *.* TO
'aaa'@'192.168.0.254'
-> IDENTIFIED BY '123456' WITH GRANT OPTION;
其中,ALL PRIVILEGES 就是所有权限的意思
ON 语句指定这些权限应用于哪些库和表。*.*代表的是所有的库的所有表
TO 确定了这些权限给与哪个用户,这里我们把权限赋予给
'aaa'@'192.168.0.254'
这个用户,aaa是用户名,@符号后面确定了只允许该用户通过192.168.0.254这个ip地址访问。
IDENTIFIED BY 语句是设定用户密码,在这里用户密码设定为123456
WITH GRANT OPTION 的意思是允许aaa这个用户把它拥有的权限再赋予其他用户
2.删除一个用户
DROP USER语句用于删除一个或多个MySQL账户。要使用DROP USER,您必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。
例:
3.mysql用户权限管理
刚才,我们使用了GRANT语句来创建用户。实际上,GRANT语句本身是具有双重用途的。当GRANT语句中指定的用户不存在时,将创建该用户并赋予权限;当GRANT语句中指
定的用户存在时,仅仅赋予该用户指定的权限。
在MYSQL中可以赋予用户很多种权限。通过刚才的例子,大家应该知道:想要赋予一
个用户权利,只要在GRANT语句的后面跟上权限就可以了。在下面的表格中列出了MYSQL
中可以为用户设定的权限和它们的含义:
如果只允许aaa用户对bookshop数据库只能查看和添加,其他的什么也不能干,命令如下
在赋予权限之后,不要忘记执行一下FLUSH PRIVILEGES命令刷新权限缓存,来让你的设置立即生效。
mysql> FLUSH PRIVILEGES;
如果你想对某个用户收回某些权限的话,就要用revoke语句,revoke语句和grant语句类似,例如收回aaa用户的select和insert权限
4.修改用户密码
修改用户密码的方法有很多种,首先介绍用grant后面跟identified by 语句后面写入新密码,例如:
//这里我们给了aaa一个usage权限,usage的意思就是没权限,然后这样我们就仅仅更该了aaa的密码,没有覆盖权限。
另一个方法是使用 update user 语句,使用这条语句必须切换到mysql库中,因为这条语句实际上就是更新库中的user表内的数据。例如,同样将aaa密码修改成654321
mysql> use mysql;
Database changed
mysql> update user set password=password('654321') where user="aaa";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
5.忘记root密码怎么办?
如果某些普通用户忘记了自己的密码的话,应对的方法很简单,给他重新设置一个密码就好了。可是如果你不小心忘记了root用户的密码,那真的是非常的糟糕。因为只有root用户自己才有权利更改root用户密码的权利。那么该怎么办呢?
首先你需要停掉mysql服务:
#service mysqld stop
或者KILL掉mysql进程
#killall -term mysql
接下来使用mysqld_safe这个命令加上—skip-grant-tables来重新启动mysql。
特别需要提醒你的是,这样启动mysql将允许任何人以root用户和空密码访问mysql服务器!因此,如果你不能断开网络连接的话,那么接下来的所有操作,你必须尽可能的快的去完成。
# mysqld_safe --skip-grant-tables &
# mysql
mysql> use msyql;
mysql> update user set password=password( ‘new_pass’) where user=”root”;
mysql> exit
# service mysqld restart
相关推荐
设置mysql用户权限
•一 : mysql 用户管理与恢复root 密码[1] •1 新建用户[2] •2 查看用户信息与显示登录用户[3] •3 重命名用户[4] •4 删除用户[5] ... ...•6.2 重启mysql 服务,匿名进入mysql ,修改root 密码[9]...•3 撤销用户权限[16]
用户权限:和MySQL所有的数据库相关。 ;给某用户授予权限可以使用GRANT语句。使用SHOW GRANTS语句可以查看当前账户拥有什么权限。 GRANT语法格式: GRANT 权限1[(列名列表1)] [,权限2 [(列名列表2)]] ... ON [目标] ...
《数据库原理及应用》教案22:了解MySQL的权限系统、管理数据库用户权限.pdf
MySQL创建用户与分配权限命令,能满足开发者的基本使用
如何设置权限 更改权限命令行执行 有的符号或文字中间有空格删除即可
mysql用户权限设置
1、在默认数据库 test 中创建测试表admin和测试数据,新建test用户授予FILE权限 2、使用test用户连接 1、利用Union select 写入
授权法,介绍远程用户连接mysql数据库,给任意远程主机授权访问mysql server的权限。
对mysql数据库的总结,希望对大家有帮助!
linux mysql 远程登录,及用户权限.docx
如果是 system 用户在运行 MySQL ,这个是非常危险的,一旦Mysql 出现漏洞,或被其他模式提权,直接就是 system 权限。对 MySQL进行降权,用普通权限运行假设(1)mysql安装在 d:\mysql 目录(2)运行时用户名为 ...
MySQL用户管理与权限管理.docxMySQL用户管理与权限管理.docx
MySQL JDBC 权限操作,授权、回收权限
自己初学java,利用之前的项目经验而写出来的一套基础的用户权限管理系统。用到了javaWeb 最底层的servlet 及 jdbc .对初学java的童鞋具有很大的参考意义。页面是用了bootstrap。可以完整的运行。
mysql用户权限表设计
2、拦截器实现权限控制:菜单管理,权限管理(按钮及用户级别权限) 3、SpringBoot框架,注解使用 4、图片上传技术 5、籍贯管理:新增,修改,删除,查询,分页 6、员工管理:新增,修改,删除,查询,分页,...
《Mysql 最后程序的总结—— Linux系统C语言编程连接MySql数据库实现的用户角色权限管理系统》 修改的问题: 1、新增 添加用户组模块; 2、新增 显示用户组模块; 3、修改 新增用户模块 选择 其所属用户组 并把...
刷新权限mysql> flush privileges。 操作语句查询mysql> select * from Contact。 mysql> select count(*) from Contact。 修改mysql> update Contact set RegTime=‘2008-01-01 00:00:00’ where id=1。 mysql> ...
这些权限存储在mysql.user表中。GRANTALLON.和REVOKEALLON.只授予和撤销全局权限。数据库层级:据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db表中。GRANTALLONdb_name.和REVOKEALLONdb_name.只...