MYSQL数据库Mysql服务器的启动与停止(二)
发布时间:2020-12-12 02:32:10 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL数据库Mysql服务器的启动与停止(二)》要点: 本文介绍了MYSQL数据库Mysql服务器的启动与停止(二),希望对您有用。如果有疑问,可以联系我们。 三、停止服务器? ????要手工启动服务器,使用MySQLadmin:? ????%mysqladmin?shutdown? ????要自动停止
《MYSQL数据库Mysql服务器的启动与停止(二)》要点: ????要手工启动服务器,使用MySQLadmin:? ????%mysqladmin?shutdown? ????要自动停止服务器,你不需做特别的事情.BSD系统一般通过向进程发一个TERM信号停止服务,它们或者正确应答它或被粗鲁地杀死.mysqld在它收到这个信号时以终止作为应答.对于用mysql.server启动服务器的System?V风格的系统,停止进程将用一个stop参数调用该脚本,告诉服务器终止,当然假定你已安装了mysql.server.? ????四、如果你不能连接服务器,如何重新获得对服务器的控制? ????在某些情况下,你可能由于不能连接它而手工重启服务器.当然,这有点矛盾.因为一般你通过连接服务器而手工关掉它,那么这种情况如何会出现.? ????首先,MySQL?root口令可以已经设置为你不知道的值,这可能发生在你修改口令时,例如,如果你在输入新口令时偶然键入一个不可见的控制字符.你也可能忘记口令.? ????其次,连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock.如果套接字文件被删除了,本地客户就不能连接.这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件.? ????如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它.因为服务器在启动时重新创建它.这里的骗局是你不能用套接字建立连接因为它不见了,你必须建立一个TCP/IP连接,如果服务器主机是pit.snake.net,你可以这样连接:? ????%mysqladmin?-p?-u?root?-h?pit.snake.net?shutdown? ????如果套接字文件被一个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口令.?? ????用mysqladmin?flush-privileges告诉服务器再次使用授权表启动? ????如果你的mysqladmin版本不认识Flash-privileges,试一试reload.? ????五、运行多个服务器? ????大多数再一台给定的机器上运行单个MySQL服务器,但在很多情况下,运行多个服务器是很有用的:? ????你可能想测试一个服务器的新版本,而保留你正在运行的生产服务器.在这种情况下,你会运行不同的服务器代码.?? ????操作系统一般限制每个进程的打开文件句柄数量.如果你的系统很难提高这个限制,运行多个服务器是解决限制的一种方法.在这种情况下,你可能运行统一服务器的多个实例.?? ????ISP经常为其客户提供自己的MySQL安装,有必要涉及单独的服务器.在这种情况下,你可能运行同一版本的多个实例或不同版本,如果不同的客户想要不同版本的MySQL.?? ????很自然地,运行多个服务器比只运行一个服务器要复杂得多.如果你安装多个版本,你不能在同一个地方安装所有东西.当服务器运行时,某些参数必须或很可能对每个服务器是唯一的,它们包括服务器在哪安装、其数据目录的路径名、TCP/IP端口和UNIX域套接字路径名以及用于运行服务器的UNIX账号(如果你不再同一账号下运行所有服务器).如果你决定运行多个服务器,一定要注意你使用的参数,是你不至于. 《MYSQL数据库Mysql服务器的启动与停止(二)》是否对您有启发,欢迎查看更多与《MYSQL数据库Mysql服务器的启动与停止(二)》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |