您的位置:首页 > 数据库 > MySQL

mysql 新安装时的权限

2007-06-11 10:12 267 查看
在安装MySQL后,你通过运行
scripts/mysql_install_db
安装初始的存取权限。见4.7.1 快速安装概述
scripts/mysql_install_db
脚本启动
mysqld
服务器,然后初始化授权表,包含下列权限集合:

MySQL
root
用户作为可做任何事情的一个超级用户被创造。连接必须由本地主机发出。注意:出世的
root
口令是空的,因此任何人能以
root
而没有一个口令进行连接并且被授予所有权限。

一个匿名用户被创造,他可对有
一个'test'
或以
'test_'
开始的名字的数据库做任何时期事情,连接必须由本地主机发出。这意味着任何本地用户能连接并且视为匿名用户。

其他权限被拒绝。例如,一般用户不能使用
mysqladmin shutdown
mysqladmin processlist


注意:对Win32的初始权限是不同的。见4.12.4 在Win32上运行MySQL

既然你的安装初始时广开大门,你首先应该做的事情之一是为MySQL
root
用户指定一个口令。你可以做如下(注意,你使用
PASSWORD()
函数指定口令):

shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root';
mysql> FLUSH PRIVILEGES;

MySQL 3.22和以上版本中,你可以使用
SET PASSWORD
语句:

shell> mysql -u root mysql
mysql> SET PASSWORD FOR root=PASSWORD('new_password');

设置口令的另一种方法是使用
mysqladmin
命令:

shell> mysqladmin -u root password new_password

注意:如果你使用第一种方法在
user
表里直接更新口令,你必须告诉服务器再次读入授权表(用
FLUSH PRIVILEGES
),因为否则改变将不被注意到。

一旦
root
口令被设置,此后当你作为
root
与服务器连接时,你必须供应那个口令。

你可能希望让
root
口令为空白以便当你施行附加的安装时,你不需要指定它或测试,但是保证在任何真实的生产工作中使用你的安装之前,设置它。

看看
scripts/mysql_install_db
脚本,看它如何安装缺省的权限。你可用它作为一个研究如何增加其他用户的基础。

如果你想要初始的权限不同于上面描述的那些,在你运行
mysql_install_db
之前,你可以修改它。

为了完全重建权限表,删除在包含
mysql
数据库的目录下所有“*.frm”,“*.MYI”和“*.MYD”文件。(这是在数据库目录下面命名为“mysql”的目录,当你运行
mysqld --help
时,它被列出。)然后运行
mysql_install_db
脚本,可能在首先编辑它拥有你想要的权限之后。

注意:对于比MySQL 3.22.10旧的版本,你不应该删除“*.frm”文件。如果你偶然做了,你应该在运行
mysql_install_db
之前你的MySQL分发中拷回它们。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息