Mysql服务器的启动与停止第二章节

来源:爱站网时间:2020-10-12编辑:网友分享
之前我们说过一篇关于Mysql服务器的启动与停止的内容,但不是完整版本的,今天小编来把剩下的内容给大家补全,如果忘记了之前所讲的,那就翻出来跟这篇文章一起重温下吧!

  之前我们说过一篇关于Mysql服务器的启动与停止的内容,但不是完整版本的,今天小编来把剩下的内容给大家补全,如果忘记了之前所讲的,那就翻出来跟这篇文章一起重温下吧!

  三、停止服务器

  要手工启动服务器,使用MySQLadmin:%mysqladminshutdown

  要自动停止服务器,你不需做特别的事情。BSD系统一般通过向进程发一个TERM信号停止服务,它们或者正确应答它或被粗鲁地杀死。mysqld在它收到这个信号时以终止作为应答。对于用mysql.server启动服务器的SystemV风格的系统,停止进程将用一个stop参数调用该脚本,告诉服务器终止,当然假定你已安装了mysql.server。

  四、如果你不能连接服务器,如何重新获得对服务器的控制

  在某些情况下,你可能由于不能连接它而手工重启服务器。当然,这有点矛盾。因为一般你通过连接服务器而手工关掉它,那么这种情况如何会出现。

  首先,MySQLroot口令可以已经设置为你不知道的值,这可能发生在你修改口令时,例如,如果你在输入新口令时偶然键入一个不可见的控制字符。你也可能忘记口令。

  其次,连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。

  如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。这里的骗局是你不能用套接字建立连接因为它不见了,你必须建立一个TCP/IP连接,例如,如果服务器主机是pit.snake.net,你可以这样连接:

  %mysqladmin-p-uroot-hpit.snake.netshutdown

  如果套接字文件被一个cron任务删除,问题将重复出现,除非你修改cron任务或使用一个或使用一个不同的套接字文件,你可以使用全局选项文件指定一个不同的套接字,例如,如果数据目录是/usr/local/var,你可以通过将下列行加入/etc/my.cnf中,将套接字文件移到那里:

  [mysqld]

  socket=/usr/local/var/mysql.sock

  [client]

  socket=/usr/local/var/mysql.sock

  对服务器和客户均指定路径名,使得它们都使用同一个套接字文件。如果你只为服务器设置路径,客户程序将仍然期望在原位置执行套接字,在修改后重启服务器,使它在新位置创建套接字。

  如果你由于忘记root口令或已经将它设置为不同于认为的值而不能连接,你需要重新获得对服务器的控制,是你能再次设置口令:

  中断服务器

  如果你以root登录服务器主机,你可以用kill命令终止服务器。你可以使用ps命令或通过寻找服务器的PID文件(通常在数据目录中)找出服务器进程的ID。

  最好是首先尝试用一个向服务器发出一个TERM信号的正常kill看它是否将以正常终止应答。这种方式下,表和日志将正确地被清空。如果服务器阻塞并且不应答一个正常终止信号,你可以用kill-9强制终止它。这是最后的手段了,因为这可能有未清空的修改,而且你冒着让表处于一个不一致状态的风险。

  如果你用kill-9终止服务器,要确保在启动服务器前用myisamchk和isamchk检查你的表。

  用--skip-grant-table选项重启服务器。

  这告诉服务器不使用授权表验证连接,这允许你以root连接而无须口令。在你已经连接后,改变root口令。

  用mysqladminflush-privileges告诉服务器再次使用授权表启动

  如果你的mysqladmin版本不认识Flash-privileges,试一试reload。

  五、运行多个服务器

  大多数再一台给定的机器上运行单个MySQL服务器,但在很多情况下,运行多个服务器是很有用的:

  你可能想测试一个服务器的新版本,而保留你正在运行的生产服务器。在这种情况下,你会运行不同的服务器代码。

  操作系统一般限制每个进程的打开文件句柄数量。如果你的系统很难提高这个限制,运行多个服务器是解决限制的一种方法。在这种情况下,你可能运行统一服务器的多个实例。

  ISP经常为其客户提供自己的MySQL安装,有必要涉及单独的服务器。在这种情况下,你可能运行同一版本的多个实例或不同版本,如果不同的客户想要不同版本的MySQL。

  很自然地,运行多个服务器比只运行一个服务器要复杂得多。如果你安装多个版本,你不能在同一个地方安装所有东西。当服务器运行时,某些参数必须或很可能对每个服务器是唯一的,它们包括服务器在哪安装、其数据目录的路径名、TCP/IP端口和UNIX域套接字路径名以及用于运行服务器的UNIX账号(如果你不再同一账号下运行所有服务器)。如果你决定运行多个服务器,一定要注意你使用的参数,是你不至于。

  关于“Mysql服务器的启动与停止”的内容就全部都讲完啦,喜欢这些文章吗?喜欢的话可以来我们网站,里面的文章对于平时操作中还是很有帮助的。

上一篇:编写C#案例教程

下一篇:mysql字符集乱码怎么办

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载