关闭服务器
要想手工关闭服务器,可使用mysqladmin:
% mysqladmin shutdown
要想自动关闭服务器,您不需要做特别的操作。BSD系统通常会通过给进程发送一个TERM 信号来关闭服务。进程或者对其作出反应,或者被随便地取消。当mysqld接收到信号时,它会通过终止来响应。对于利用mysql.server启动服务器的System V-风格的系统,该关闭进程将调用带有stop 参数的脚本来指示服务器进行关闭──当然,这是在假定您已经安装了mysql. ser ver的情况下进行的。
在不连接时收回服务器的控制
在某些环境中,由于不能连接到服务器,您需要用手工重新启动它。当然,这有点荒谬,因为一般是通过连接到服务器然后告知服务器终止来手工关闭服务器的。那么这种情况是怎样出现的?
首先,MySQL的root 口令可能得到了一个您不知道的值。这种情况可能是在修改口令时发生的─例如,如果在输入新的口令值时碰巧键入了一个不可见的控制字符。还有可能就是完全忘记了口令。
其次,对于localhost 的连接通常是通过UNIX 域的套接字文件进行的,它一般为/ tmp / mysql. s o c k。如果该套接字文件被删除了,则本地客户机将不能进行连接。如果系统偶尔运行了一个删除/tmp 中的临时文件的cron 作业,这种情况就可能会发生。
如果因为失去套接字文件而不能进行连接,可以通过重新启动服务器简单地进行恢复,因为服务器在启动期间重新建立了该文件。这里应知道的是,不能用该套接字建立连接(因为它已经不存在)而必须建立TCP/IP 连接。例如,如果服务器的主机是pit – viper. snake . net,则可以按如下方法进行连接:
% mysqladmin -p -uroot -h pit-viper.snake.net shutdown
如果此套接字文件被cron 作业删除,则问题将复发,直到您修改cron 作业或使用另一个套接字文件为止。您可以用全局选项文件指定另一个套接字文件。例如,如果数据目录为/ usr / lo cal / var,则可通过将以下行添加到/ etc / my.cnf 中来移动套接字文件到那里:
[mysqld] socket=/usr/local/var/mysql.sock [client] socket=/usr/local/var/mysql.sock |
路径名是为服务器和客户机程序二者所指定的,以便它们能使用相同的套接字文件。如果只对服务器设置路径名,客户机程序将仍然在旧的位置上查找套接字文件。在做出这个修改后应重新启动服务器,使它在新的位置创建套接字文件。
如果由于您忘记了root的口令或将其修改为一个您不知道的值而不能进行连接,则需要收回服务器的控制以便重新设置口令:
关闭服务器。如果您以root用户的身份在服务器主机上进行登录,可用kill命令终止服务器。通过使用ps 命令或通过查看服务器的PID 文件(通常放在数据目录中)能找出服务器的ID 进程。
最好先试着用标准的kill命令取消服务器,该命令将一个TERM信号发送到服务器上,以查看服务器是否通过关闭信号来响应。也就是说,表和日志将被适当地刷新。如果服务器被堵塞并且没有响应正常的终止信号,可使用kill -9强制终止它。这是最后的一个
方法,因为可能存在未刷新的更改,并且要承担非一致状态下将表保留下来的风险。如果用kill -9 终止服务器,应确保在重新启动服务器之前利用myisamchk和isamchk对表进行检查(参见第13章)
用–skip-grant-tables 选项重新启动服务器。该操作告诉服务器不要使用授权的表检查连接。这允许您作为root 用户不用输入口令即可进行连接。在连接之后,修改root的口令。
告诉服务器再利用mysqladmin flush-privileges 使用授权表启动。如果您的mysqladmin 版本不识别flush – privileges,试着进行重新加载。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
2017年5月数据库流行度排行榜 MySQL与Oracle“势均力敌”
数据库知识网站DB-engines.com最近更新了2017年5月的数据库流行榜单。TechTarget继续与您一起分享最新的榜单情况。
-
2017年3月数据库流行度排行榜 Oracle卫冕之路困难重重
时隔一个月,数据库市场经过一轮“洗牌”,旧的市场格局是否会被打破,曾经占巨大市场份额的企业是否可能失去优势?