MySQL学习3–MySQL5.1的启动和停止

7月 1st, 2013
Mysql启动的4种方法

  1. mysqld
    1. mysqld是MySql服务器进程;
    2. mysqld启动时读取配置文件中的[mysqld]和[server]节点
    3. 我们可以手动的调用mysqld(查看参数:mysqld –verbose –help),但是我们一般只在调试的时候才这么做,如果手动启动的话,错误消息会打印到终端屏幕上而不是错误日志文件中;
    4. 默认读取配置文件的顺序是:
      1. /etc/my.cnf;
      2. /etc/mysql/my.cnf;
      3. /usr/local/mysql/etc/my.cnf;
      4. ~/.my.cnf;
      5. 依次读取后面配置文件中的的项会覆盖掉前面;
    5. 启动方式:$MYSQL_HOME/libexec/mysqld –defaults-file=./my.cnf –user=mysql;
    6. 连接方式:
      1. mysql –defualts-file=./my.cnf
      2. mysql -S /tmp/mysql.sock
  2. mysqld_safe
    1. mysqld_safe读取配置文件的[mysqld],[server]和[mysqld_safe]节点,为了向后兼容,也会读取[safe_mysqld]节点,尽管你应该重命名[mysqld_safe]节点在MySql5.1的安装过程中;
    2. mysqld_safe是一个可以调用mysqld进程的shell脚本,它可以设置错误日志,然后调用并监控mysqld进程,如果mysqld进程异常终止(kill -9 pid)的话,则mysqld_safe可以重新启动它;
    3. 启动方式:$MYSQL_HOME/lib/mysqld_safe –defaults-file=./my.cnf –user=mysql &;
    4. 连接方式:
      1. mysql –defualts-file=./my.cnf
      2. mysql -S /tmp/mysql.sock
  3. mysql.server
    1. MySql的分发版本在Unix上包含了一个叫mysql.server的脚本,它可以用于像Linux和Solaris的OS,以至于能够使用System V-style的方式运行目录来启动和关闭系统服务.它同样可以被用于Mac OS X系统上MySql的开机项;
    2. 存放的目录有:
      1. $MYSQL_HOME/share/mysql/mysql.server
      2. mysql-VERSION/support-files/mysql.server
    3. mysql.server读取配置文件的[mysql.server]和[mysqld]节点,为了向后兼容,它也读取[mysql_server]节点,尽管你应该重命名此节点在使用MySql5.1时;
    4. 它会调用mysqld_safe进程;
    5. 启动方式:
      1. cd $MYSQL_HOME/share/mysql/mysql.server start(stop/restart/reload/force-reload/status)
      2. cp $MYSQL_HOME/share/mysql/mysql.server /etc/rc.d/init.d/mysql;chkconfig –add mysql;service mysql start;
    6. 连接方式:
      1. mysql –defualts-file=./my.cnf
      2. mysql -S /tmp/mysql.sock
  4. mysqld_multi
    1. mysqld_multi是用来管理多个在不同的Unix socket文件和TCP/IP端口监听的mysqld进程的,它可以启动,停止和报告它们当前的状态,MySql Instance Manager是一个具有选择意义的多实例管理服务;
    2. 配置方法:
      1. 创建多实例的数据文件(有几个实例创建几个数据文件目录):>mkdir $MYSQL_HOME/data2;
      2. 修改数据文件目录的访问权限:>chown -R mysql:mysql data2;
      3. 分别初始化各个实例:>mysql_install_db –basedir=$MYSQL_HOME –datadir=$MYSQL_HOME/data2 –user=mysql;(初始化时指定basedir和datadir而不是从配置文件中读取)
      4. 编辑配置文件:添加[mysqld_multi]节点和多个[mysqldxxxx]节点;
      5. 启动实例:>mysqld_multi –defaults-file=./my.cnf start 3306;
      6. 连接方式:
        1. mysql -u root -P 3306 –protocol=tcp;
        2. mysql -S /tmp/mysql3306.sock
      7. 添加有关闭服务权限的用户:>grant shutdown on *.* to “shutdown_user”@”localhost” identified by “pwd” with grant option;(查看授权语句:>show grants for root@localhost;)
      8. 停止服务:>mysqld_multi –defualts-file=./my.cnf stop 3306;
      9. 日志文件存放在:$MYSQL_HOME/share/mysqld_multi.log文件中(mysql5.5中$MYSQL_HOME/data/mysqld_multi.log文件中);
关闭mysql数据库服务器:>mysqladmin shutdown;
查看mysql服务器是否否启动:>mysqladmin ping;
连接MySql
  1. 交互协议
    1. TCP/IP:支持本地连接和远程连接,支持所有的操作系统,除非指定–skip-networking选项;
    2. Unix Socket File:仅支持本地连接,仅支持Unix系统;
    3. Named Pipe:仅支持本地连接,仅支持Windows系统,需要使用-nt的版本(mysql-nt or mysql-max-nt),此方式默认禁止,如果要开启Named Pipe方式连接必须启动-nt版本的服务器并加上–enable-named-pipe选项;
    4. Shared Memory:仅支持本地连接,仅支持Windows系统,默认禁止,如果要开启需要添加–share-memory选项;
  2. 客户端工具
    1. mysql:是一个向服务器发送SQL语句的一般用途的客户端工具,也包含了一些管理的功能;
    2. mysqladmin:是一个帮助管理服务器的管理命令行客户端;
    3. mysqlimport:提供一个LOAD DATA INFILE语句的接口,帮助导入数据;
    4. mysqldump:是一个倾倒数据库和表结构及内容的客户端,主要用于备份和拷贝数据库到其它的机器;
 
 
 
 
 
./my.cnf文件:
[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe     — 启动服务的进程
mysqladmin = /usr/local/mysql/bin/mysqladmin    — 关闭服务的进程
user       = shutdown_user                        — 有关闭服务器权限的用户
password   = pwd                                  — 用户密码
 
[mysqld3306]
port      = 3306                                  — 监听端口号
socket    = /tmp/mysql3306.sock                   — socket文件
pid-file  = /tmp/mysql3306.pid                    — pid文件
basedir   = /usr/local/mysql                      — 实例基目录
datadir   = /usr/local/mysql/data                 — 实例数据文件目录
……                                            — 其它服务器参数
标签:
目前还没有任何评论.