
在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 两个数据列的权限。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)