当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MYSQL教程:MYSQL启动与退出以及链接故障恢复

MYSQL
让MYSQL彻底支持中文
数据安全之MySQL安全的二十三条军规
MySQL的一些安全注意点
mysql5存储过程编写实践
oracle移植到mysql注意事项
对抗MySQL数据库解密高手
最简便的备份MySQL数据库的方法
Linux操作系统下MySQL数据库的使用方法
Oracle与MySQL删除字段时对索引和约束的处理
Linux下C连接MySQL出现错误解决一例
Linux下MySQL整个数据库的备份与还原
MySQL数据库的授权原则
MySQL中数据表操作详解
在函数间不能传递32个以上参数的疑难问题
带你轻松接触MySQL数据库的出错代码列表
MySQL数据库备份恢复的两个实用方法
巧用JDBC实现对MySQL的“增删改查”
怎样在MySQL数据库中导出整个数据库
实例讲解MySQL数据库中文问题的解决方法
实例讲解如何使用C++操作MySQL数据库类

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 75 ::
收藏到网摘: n/a

1.服务器的启动和关闭

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

本文由软晨学习网(http://www.ruanchen.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用户密码后,我们就可关闭服务器并重启使所有配置正常运作。