|
现在,你的sql/Index.html'>mysqld进程应该正在作为Unix用户user_name运行,并运行完好。尽管有一件事情没有变化:权限表的内容。缺省地(就在运行了脚本sql/Index.html'>mysql_install_db安装的权限表后),MySQL用户root是唯一有存取sql/Index.html'>mysql数据库或创建或抛弃数据库权限的用户。除非你改变了那些权限,否则他们仍然保持。当你作为一个Unix用户而不是root登录时,这不应该阻止你作为MySQLroot用户来存取MySQL;只要为客户程序指定-uroot的选项。
注意通过在命令行上提供-uroot,作为root存取MySQL,与作为Unixroot用户或其他Unix用户运行MySQL没有关系。MySQL的存取权限和用户名与Unix用户名字是完全分开的。唯一与Unix用户名有关的是,如果当你调用一个客户程序时,你不提供一个-u选项,客户将试图使用你的Unix登录名作为你的MySQL用户名进行连接。
如果你的Unix机器本身不安全,你可能应该至少在存取表中为MySQLroot用户放上一个口令。否则,在那台机器上有一个帐号的任何用户能运行sql/Index.html'>mysql-urootdb_name并且做他喜欢做的任何事情。
18.9怎样重新设置一个忘记的口令
如果你忘记了MySQL的root用户的口令,你可以用下列过程恢复它。
- 通过发送一个
kill(不是kill-9)到sql/Index.html'>mysqld服务器来关闭sql/Index.html'>mysqld服务器。pid被保存在一个.pid文件中,通常在MySQL数据库目录中:kill`cat/sql/Index.html'>mysql-data-directory/hostname.pid`
你必须是一个UNIXroot用户或运行服务器的相同用户做这个。
- 使用
--skip-grant-tables选项重启sql/Index.html'>mysqld。
- 用
sql/Index.html'>mysql-hhostnamesql/Index.html'>mysql连接sql/Index.html'>mysqld服务器并且用一条GRANT命令改变口令。见7.26GRANT和REVOKE句法。你也可以用sql/Index.html'>mysqladmin-hhostname-uuserpasswordnewpassword进行。
- 用
sql/Index.html'>mysqladmin-hhostnameflush-privileges或用SQL命令FLUSHPRIVILEGES来装载权限表。
18.10文件许可权限问题
(编辑:aniston)
|