欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MYSQL启动与退出以及链接故障恢复_MySQL

程序员文章站 2022-05-19 18:42:21
...
1.服务器的启动和关闭
在Linux和windows平台下MySQL服务器的启动方式有很大不同,这里将分开介绍:

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用户密码后,我们就可关闭服务器并重启使所有配置正常运作。