mysql怎么重新授权 mysql57授权

mysql 如何授予某个用户reload权限MySQL数据库中的表与其他任何关系表没有区别,都可以通过典型的SQL命令修改其结构和数据 。可以使用GRANT和REVOKE命令 。通过这些命令,可以创建和禁用用户 , 可以在线授予和撤回用户访问权限 。在5.0版本中增加了两个新命令:CREATE USER和DROP USER 。从而能更容易地增加新用户、删除和重命名用户,还增加了第三个命令RENAME USER用于重命名现有的用户 。
使用CREATE USER命令创建用户
CREATE USER用于创建新的MySQL账户 。要使用CREATE USER语句 , 您必须拥有mysql数据库的全局CREATE USER权限 , 或拥有INSERT权限 。对于每个账户,CREATE USER会在没有权限的mysql.user表中创建一条新记录 。如果账户已经存在,则出现错误 。使用自选的IDENTIFIED BY子句,'可以为账户设置一个密码 。user和密码的设置方法与GRANT语句一样 。其命令的原型如下:
CREATE USER user [IDENTIFIED BY [PASSWORD 'PASSWORD'] [,user [IDENTIFIED BY [PASSWORD'PASSWORD']]……
create user temp identified by '123456';
使用DROP USER命令删除用户
如果存在一个或是多个账户被闲置,应当考虑将其删除,确保不会用于可能的违法活动 。利用DROP USER命令就能很容易地从权限表中删除用户的所有信息,即来自所有授权表的账户权限记录 。DROP USER命令原型如下:
DROP USER user [,user] ……
ps"DROP USER不能自动关闭任何打开的用户对话;而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效 。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败 。
使用RENAME USER命令重命名用户
RENAMEUSER语句用于对原有MySQL账户进行重命名 。RENAMEUSER语句的命令原型如下:
RENAME USER old_user TO new_user [,old_user TO new_user] ……
ps:如果旧账户不存在或者新账户已存在,则会出现错误 。
回到顶部
权限管理
GRANT和REVOKE命令
GRANT和REVOKE命令用来管理访问权限,也可以用来创建和删除用户,但在MySQL5.0.2中可以利用CREATE USER和DROP USER命令更容易地实现这些任务 。GRANT和REVOKE命令对于谁可以操作服务器及其内容的各个方面提供了多程度的控制,从谁可以关闭服务器,到谁可以修改特定表字段中的信息都能控制 。
?
?
如果授权表拥有含有mixed-case数据库或表名称的权限记录,并且lower_case_table_names系统变量已设置,则不能使用REVOKE撤销权限,必须直接操纵授权表 。(当lower_case_table_names已设置时,GRANT将不会创建此类记录,但是此类记录可能已经在设置变量之前被创建了 。)
授予的权限可以分为多个层级:
全局层级适用于一个给定服务器中的所有数据库,这些权限存储在mysql.user表中 。GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤销全局权限 。
数据库层级适用于一个给定数据库中的所有目标,这些权限存储在mysql.db和mysql.host表中 。GRANT ALL ON db_name .*和REVOKE ALL ON db_name .*只授予和撤销数据库权限 。
表层级适用于一个给定表中的所有列,这些权限存储在mysql.tables_priv表中 。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限 。
列层级适用于一个给定表中的单一列,这些权限存储在mysql.columns_priv表中 。当使用REVOKE时,您必须指定与被授权列相同的列 。
子程序层级,CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序,这些权限可以被授予为全局层级和数据库层级;而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级 , 并存储在mysql.procs_priv表中 。
?
grant all on *.* to user identified by '123456' with grant option;
--授予用户名为user、密码为123456的用户使用所有数据库的所有权限 , 并允许他向其他人授予这些权限 。
revoke all privileges,grant from user;
grant usage on books.* to user identified by '123456';
--创建一个没有任何权限的常规用户
grant select,insert,update,delete,index,alter,create,drop on books.* to user;
--为用户user授予适当的权限
revoke alter,create,drop on books.* from user;
--减少权限
revoke all on books.* from user;
--撤销所有的权限
?
p
如何设置数据库的权限?1、首先用管理员进入数据库级中的安全性,点击登录名 , 点击新建登录名 。
2、在界面中,创建登录名,并设置默认的数据库的密码 。
3、然后勾选需要设置的数据库,完成创建 。
4、然后就可以对数据库中的User表进行权限的设置了 , 右键“属性” 。
5、依次点击“添加”,浏览”,“选择对象” 。
6、然后就可以下面的列表中找到对应的权限授予进行设置 。
如何给MySql创建连接用户并授权一般在为MySql创建用户时建议使用GRANT前台命令,当然如果对我们开发者而言 , 方法还有很多种,比如使用INSERT命令,甚至是直接修改mysql user数据表 , 但仍然建议按照MySQL规范去授权账户 。因为它太容易忘记 , 特别整理方便参考 。
1、登录MySQL
输入mysql -u root和密码即可登录到Mysql 。
2、选择数据库
语句如下:use mysql;
3、在mysql的user表中增加连接用户
GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中:
“username”替换为将要授权的用户名 , 比如clientusr;
“password”替换为clientusr设置的密码;
4、可访问数据表授权
创建好帐户之后,就开始给上面的common user进行数据表授权,步骤3中增加的连接用户默认权限都是“N”的,必须在db表中为该帐户授权,允许其访问专用数据库 , 当然超级用户就不说了 。
使用下面语句:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbx.*TO 'username'@'localhost' IDENTIFIED BY 'password';
本语句中的权限根据实际需要确定:
"dbx"替换为授权访问的数据库名,如果只给某张表授权:dbx.tablename
"username"是步骤2授权用户名
"password"是步骤2授权用户的设置密码
这样就为该用户授予了对某数据表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP权限 。
5、生效授权,创建完毕
FLUSH PRIVILEGES;
备注:
1、不要直接使用INSERT语句添加user记录,使用INSERT可能出现:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误 。不过早期的MYSQL版本笔者倒没出现这个错误 , 因为天缘一直都是直接修改user表或直接使用INSERT语句完成,后来升级MYSQL到5.1的时候 , 发现可能会出现这个错误 。
2、上文3和4,也可使用一句话GRANT ALL ON tbx.* TO 'username' IDENTIFIED BY 'password',这句话会自动创建username并为之授权 。更多授权权限可参考MYSQL官方网站 。
windows下mysql的root权限丢失怎么办开始--》运行--》cmd进入mysql安装目录mysql怎么重新授权的bin文件夹(客户都没设置环境变量找不到mysql命令只能到那个目录)
比如mysql怎么重新授权:D:\Program Files\MySQL\MySQL Server 5.0\bin
1.暂停mysql服务mysql怎么重新授权;
2.忽略授权问题mysql怎么重新授权;
3.另一个命令行进去myql;
4.重置root密码并刷新授权表;
5.任务管理器杀掉mysql进程;
6.重启mysql服务;
net stop mysql
mysqld --skip-grant-tables
开另外一个命令行窗口mysql怎么重新授权 , 一样进入那个目录
mysql -u root -p
update mysql.user set password=PASSWORD("新密码") where User="root";
flush privileges;
任务管理器杀掉mysql进程
net start mysql
windows和Linux下的mysql授权表设置攻略在Windows中mysql怎么重新授权,当mysql安装完成之后不需要创建数据目录和授权表 。在数据目录下mysql怎么重新授权的MySQL数据库中存在一套预初始化mysql怎么重新授权的'账户的授权表 。不要运行Unix中使用的mysql_install_db脚本 。
在Unix上安装MySQL后mysql怎么重新授权,需要初始化授权表、启动服务器,并确保服务器工作正常 。并为授权表中的账户指定密码 。
在Unix中,由mysql_install_db设置授权表 。
如果系统为安装好的CentOS5,则只需要运行
# mysql_install_db --user=mysql --datadir=/var/lib/mysql_ndbd/
一定要确保由mysql登录账户拥有数据库目录和文件,以便在以后运行服务器具有读、写访问权限 。
当然,也可以以
mysqld_safe --user=mysql --skip-grant-tables跳过授权表来登录,登录进去重新赋权限 , 同时更新权限表mysql怎么重新授权:flush privileges
【mysql怎么重新授权 mysql57授权】mysql怎么重新授权的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于mysql57授权、mysql怎么重新授权的信息别忘了在本站进行查找喔 。

    推荐阅读