MYSQL教程:MYSQL启动与退出以及链接故障恢复

2009-02-20 14:32:19  来源:网页教学网 

WebjxCom提示:在Linux和windows平台下MySQL服务器的启动方式有很大不同,这里将分开介绍;连接故障恢复.

1.服务器的启动和关闭

在Linux和windows平台下MySQL服务器的启动方式有很大不同,这里将分开介绍:

本文由网页教学网(http://www.webjx.com)整理发布!转载请注明出处,谢谢!

  • Linux平台:

    Linux平台下,每一个进程都需由一个用户来运行,MySQL最好不要以root用户来运行。我们可创建一个mysql用户和mysql组,MySQL服务器程序目录和数据目录由这个用户和组所拥有,其它用户没有任何权限。以mysql用户来运行MySQL服务器。

    % mysqld --user=mysql     #即使以root用户执行该命令,MySQL数据库还是会与mysql用户ID关联。
    

    为了使服务器在系统启动时自动以mysql用户运行,需配置my.cnf配置文件 ,把user=mysql包含在[mysqld]段中。

    关闭服务器可用% mysql.server stop或% mysqladmin -u root -p shutdown

  • windows平台:

    手动方式:直接运行c:\mysqld命令。

    作为服务方式:运行c:\mysqld-nt --install命令,把mysqld-nt安装为windows的服务,此后,每当windows启动时,它就会自动运行。mysqld-nt是一个支持命名管道的MySQL服务器。运行c:\mysqld-nt --remove可把服务删除。手动启动关闭服务的方法是运行c:\net start mysql和c:\net stop mysql命令。

2. 连接故障恢复

当由于误删mysql套接字时(/tmp/mysql.sock),我们就不能通过套接字连接服务器。这时我们可通过tcp/ip来连接服务器,要建立一个tcp/ip连接,需用127.0.0.1代替locahost作为-h参数的值来连接服务器。如:

% mysqladmin -h 127.0.0.1 -u root -p shutdown       #关闭服务器再重启会重建套接字

当我们因为忘记root用户密码而不能连接服务器时,重设置密码的步骤如:

  • 用 % kill -TERM PID关闭服务器,用-TERM信息可使服务器在关闭前把内存中的数据写入磁盘。如果服务器没有响应,我们可用% kill -9 PID来强制删除进程,但不建议这样做。这时内存中的数据不会写入磁盘,造成数据不完整。如果你是用mysql_safe脚本启动MySQL服务器的,这个脚本会监控服务器的运行情况并在它被终止时重启服务器,所以如需关闭服务器,要先终止该进程,然后再真正终止mysqld进程。

  • 接着用--skip_grant-tables启动服务器。这时MySQL服务器将不使用权限表对连接操作进行验证。你就可在不提供root密码的情况下连接上服务器,并获得root的权限。这样你就可用上面介绍的修改密码的方法重设root用户的密码。注意:连接上服务器后,要马上执行flush privileges命令,使权限表读入内存并生效,以阻止其他的连接。该语句还重新激活grant语句,在MySQL服务器不使用权限表时,grant语句被禁用。

  • 修改完root用户密码后,我们就可关闭服务器并重启使所有配置正常运作。

更多

推荐文章