1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
kill `cat /mysql-data-directory/hostname.pid`
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
2. 使用`--skip-grant-tables' 参数来启动 mysqld。
3. 使用`mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password 'new password''。
(其实也可以用use mysql; update user set password =password('yourpass') where user='root' 来做到。)
4. 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。)

解决方案 »

  1.   

    <MySQL权威指南>
    一般的MySQL问题都能找到答案
      

  2.   

    1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
    kill `cat /mysql-data-directory/hostname.pid`
    你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
    2. 使用`--skip-grant-tables' 参数来启动 mysqld。
    3. 使用`mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password 'new password''。
    (其实也可以用use mysql; update user set password =password('yourpass') where user='root' 来做到。)
    4. 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。
    -------------------------------
    我是才开始用的,都不明白。 我是安装的 redhat enterprise 4 linux 也就是说用rpm安装的mysql, 我怎么找到路径呢。 
    1。我用 killall -TERM mysqld 可以吗?
    2。 怎么找到路径呢
    3。如何跳过输入口令的命令。 如何“使用`--skip-grant-tables' 参数来启动 mysqld。”
    4。还是不会 谢谢指教
      

  3.   

    这些问题的答案<MySQL权威指南>里都有。如果不想买书,到www.mysql.com上找文档也可以,不过好像都是英文的。
    由于长时间没有搞MySQL了,忘的差不多了,所以不敢回答了
      

  4.   

    一个参考手册就行
    然后不明白的问题到mysql官方查