现在,你的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)
|