怎样作为
![](/icons/80447yi.gif)
个
![](/icons/80447yi.gif)
般用户运行MySQL<br>MySQLmysqld能被任何用户启动并运行
![](/icons/80447dou2.gif)
为了将mysqld改由Unix用户user_name来运行
![](/icons/80447dou.gif)
你必须做下列事情:
如果它正在运行
![](/icons/80447dou.gif)
停止(使用mysqladmin shutdown)
![](/icons/80447dou2.gif)
<br>改变数据库目录和文件以便user_name有权限读和写文件(你可能需要作为Unix
![](/icons/80447de.gif)
root用户才能做到):<br>shell> chown -R user_name /path/to/mysql/datadir
如果在MySQL数据目录中
![](/icons/80447de.gif)
目录或文件是符号链接
![](/icons/80447dou.gif)
你也将需要顺着那些链接并改变他们指向
![](/icons/80447de.gif)
目录和文件
![](/icons/80447dou2.gif)
chown -R不能跟随符号链接
以user_name用户启动服务器
![](/icons/80447dou.gif)
或如果你正在使用MySQL 3.22或以后版本
![](/icons/80447dou.gif)
以Unix root用户启动mysqld并使用--user=user_name选项
![](/icons/80447dou.gif)
mysqld将在接受任何连接的前切换到以Unix user_name用户运行
![](/icons/80447dou2.gif)
<br>如果在系统被重新启动时
![](/icons/80447dou.gif)
你使用mysql.server脚本启动mysqld
![](/icons/80447dou.gif)
你应该编辑mysql.server用su以用户user_name运行mysqld
![](/icons/80447dou.gif)
或使用--user选项
![](/icons/80447diaoyong.gif)
mysqld
![](/icons/80447dou2.gif)
(不改变safe_mysqld是必要
![](/icons/80447de.gif)
![](/icons/80447dou2.gif)
) <br>现在
![](/icons/80447dou.gif)
你
![](/icons/80447de.gif)
mysqld进程应该正在作为Unix用户user_name运行
![](/icons/80447dou.gif)
并运行完好
![](/icons/80447dou2.gif)
尽管有
![](/icons/80447yi.gif)
件事情没有变化:权限表
![](/icons/80447de.gif)
内容
![](/icons/80447dou2.gif)
缺省 地(就在运行了脚本mysql_
![](/icons/80447install.gif)
_db安装
![](/icons/80447de.gif)
权限表后)
![](/icons/80447dou.gif)
MySQL用户root是唯
![](/icons/80447yi.gif)
有存取mysql数据库或创建或抛弃数据库权限
![](/icons/80447de.gif)
用户
![](/icons/80447dou2.gif)
除非你改变了那些权限
![](/icons/80447dou.gif)
否则他们仍然保持
![](/icons/80447dou2.gif)
当你作为
![](/icons/80447yi.gif)
个Unix用户而不是root登录时
![](/icons/80447dou.gif)
这不应该阻止你作为MySQL root用户来存取MySQL;只要为客户
![](/icons/80447chengxu.gif)
指定-u root
![](/icons/80447de.gif)
选项
注意通过在命令行上提供-u root
![](/icons/80447dou.gif)
作为root存取MySQL
![](/icons/80447dou.gif)
和作为Unix root用户或其他Unix用户运行MySQL没有关系
![](/icons/80447dou2.gif)
MySQL
![](/icons/80447de.gif)
存取权限和用户名和Unix用户名字是完全分开
![](/icons/80447de.gif)
![](/icons/80447dou2.gif)
唯
![](/icons/80447yi.gif)
和Unix用户名有关
![](/icons/80447de.gif)
是
![](/icons/80447dou.gif)
如果当你
![](/icons/80447diaoyong.gif)
![](/icons/80447yi.gif)
个客户
![](/icons/80447chengxu.gif)
时
![](/icons/80447dou.gif)
你不提供
![](/icons/80447yi.gif)
个-u选项
![](/icons/80447dou.gif)
客户将试图使用你
![](/icons/80447de.gif)
Unix登录名作为你
![](/icons/80447de.gif)
MySQL用户名进行连接
如果你
![](/icons/80447de.gif)
Unix机器本身不
![](/icons/80447dou.gif)
你可能应该至少在存取表中为MySQL root用户放上
![](/icons/80447yi.gif)
个口令
![](/icons/80447dou2.gif)
否则
![](/icons/80447dou.gif)
在那台机器上有
![](/icons/80447yi.gif)
个帐号
![](/icons/80447de.gif)
任何用户能运行mysql -u root db_name并且做他喜欢做
![](/icons/80447de.gif)
任何事情