Mysql服务器的启动与停止(二)

2016-02-19 12:04 6 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的Mysql服务器的启动与停止(二),过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】

三、停止服务器 
    要手工启动服务器,使用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账号(如果你不再同一账号下运行所有服务器)。如果你决定运行多个服务器,一定要注意你使用的参数,是你不至于。

来源:http://www.tulaoshi.com/n/20160219/1599711.html

延伸阅读
MySQL是一个多用户、多线程SQL数据库服务器。可以用于各种流行操作系统平台的关系数据库,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL完全适用于网络,用其建造的数据库可以在网上的任意地方访问。MySQL可以使用SQL语言。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现...
大多数人们都在指定的机器上运行单个MySQL服务器,但在有些情况下,运行多个服务器是有好处的: 您可以在成品服务器运行的状态下测试新版本的服务器。在这种情况下,将运行不同的服务器。 操作系统通常将总进程限制施加于打开文件的描述符数量上。如果系统提高该限制值有困难,则运行多个服务器是解决该限制的办法(例如,提高限...
首先在主服务器上添加可登陆的用户权限: GRANT REPLICATE SLAVE on *.* to 'username'@'host' identified by 'password' 然后设置主服务器的my.ini文件。 server-id=1 #主服务器标识 log-bin #启用二进制日志 binlog-do-bin=databasename #要备份的数据库名称,多个可以重复该配置过程 binlog-ignore-db=databasename #不备份的数据库名...
3.6.1 服务器启动的6种方式 Oracle 9i的数据库服务器有6种启动的方式,如表3.3所示。 表3.3 服务器启动的6种方式 方式特点正常启动启动装载和打开数据库,用户可以进行正常访问不装载启动在未装载数据库的情况下启动服务器,由于未打开数据库,所以不允许用户访问装载启动启动服务器并装载数据库,但不打开数据库。不允许用户访...
标签: PHP
  通过一个小时的研究和设置.实现了最新的 PHP 5.0 + MYSQL 5.0 + WIN2003. 个人认为还是有必要写个教程出来.因为很多方面和老版本的不尽相同. 说实话自己也是查阅了很多官方文档才解决了很多怪异问题. ========================= 相关软件均可以在 WWW.SKYCN.NET 下载. MYSQL 5.0 FOR WINDOWS PHP 5.0 FOR WINDOWS PHPMYADMIN WIND...

经验教程

972

收藏

46
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部