windows和Linux下的mysql授权表设置攻略

windows和Linux下的mysql授权表设置攻略,第1张

在Windows中,当mysql安装完成之后不需要创建数据目录和授权表。在数据目录下的MySQL数据库中存在一套预初始化的'账户的授权表。不要运行Unix中使用的mysql_install_db脚本。

在Unix上安装MySQL后,需要初始化授权表、启动服务器,并确保服务器工作正常。并为授权表中的账户指定密码。

在Unix中,由mysql_install_db设置授权表。

如果系统为安装好的CentOS5,则只需要运行

# mysql_install_db --user=mysql --datadir=/var/lib/mysql_ndbd/

一定要确保由mysql登录账户拥有数据库目录和文件,以便在以后运行服务器具有读、写访问权限

当然,也可以以

mysqld_safe --user=mysql --skip-grant-tables &跳过授权表来登录,登录进去重新赋权限,同时更新权限表:flush privileges

mysql授权表共有5个表:user、db、host、tables_priv和columns_priv。

授权表的内容有如下用途:

·user表

user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。

·db表

db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。

·host表

host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。

·tables_priv表

tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。

·columns_priv表

columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。

对用户授权grant语句语法:

    grant privileges (columns)

        on  what

    to   account

2.举例子:

  grant all on zabbix.* to  'zabbix'@'localhost     给予'zabbix'@'localhost'管理zabbix这个数据库的全部权限。

 grant  select  on zabbix.tmp   to 'saladin'@'localhost'    给予'saladin'@'localhost'查询检索数据库zabbix里的tmp表格的权限。

 grant  select,update,delete (name,id) on zabbix.tmp to 'saladin'@'localhost'    给予'saladin'@'localhost'检索更新删除表格tmp里 name  和 id  两个数据列的权限。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8301000.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存