mysql学习足迹之二【mysql启动多实例步骤讲解】

来源:互联网 发布:购物软件哪些 编辑:程序博客网 时间:2024/05/29 19:03

在前面一篇<mysql源码安装>已经提到了mysql,因为这段时间工作需要,我也开始慢慢的学习掌握mysql一些知识,

由于没有基础在mysql启动多实例的问题上纠结了很久,总是得不到我想要的结果,经查一些资料和网站边学边做,终于成功了,下面是我的一些步骤,也算是一种积累


     在源码安装完毕之后[可参考文章 http://blog.csdn.net/willability/article/details/7658547 ]

     由于你要同时运行多个实例,我所知的有2种方法(均实践过)

     1.第一种也最简单的就是安装多个mysql,按照源码的方式CMAKE->make->make install->mysql_db_install初始化->启动,这样当然可以解决,不过我实在不想这么弱智,想玩些新鲜的东西,也就是我要用第二种


     2.第二种方法是使用mysqld_muti来完成

        在源码安装的时候你已经建了个目录data存放数据库文件,如果你想运行多个接口你需要在创建多个目录来存放其他的数据文件,譬如我要启用2个实例起来

        ~$ ./mysql_install_db --basedir=/home/demon/mysql --datadir=/home/demon/mysql/data --user=demon   #这个命令是之前就已经执行过了

      ~$mkdir /home/demon/mysql/data2

      ~$mkdir /home/demon/mysql/data3

       ......

       你可以去建多个目录然后逐个初始化数据库文件

      ~$./mysql_install_db --basedir=/home/demon/mysql --datadir=/home/demon/mysql/data2 --user=demon

      ~$./mysql_install_db --basedir=/home/demon/mysql --datadir=/home/demon/mysql/data3 --user=demon

      ...... 

      

      现在就要开始搞配置了,修改/home/mysql/my.cnf文件,如果没有这个文件则

      ~$ cp /home/demon/mysql/support-files/my-medium.cnf  /home/mysql/my.cnf

      注释已有的[mysqld]段配置

      添加

            [mysqld_multi]
         mysqld = /home/demon/mysql/bin/mysqld_safe
            mysqladmin = /home/demon/mysql/bin/mysqladmin
            user = root


            [mysqld1] 
         port            = 3400
         socket          = /home/demon/mysql/mysql3400.sock
         pid-file        = /home/demon/mysql/data/mysql3400.pid
         basedir = /home/demon/mysql
         datadir = /home/demon/mysql/data

         [mysqld2]
         port            = 3410
         socket          = /home/demon/mysql/mysql3410.sock
         pid-file        = /home/demon/mysql/data2/mysql3410.pid
         basedir = /home/demon/mysql
         datadir = /home/demon/mysql/data2

            按照这个逻辑你可以添加N多个实例了


         我们来看下是怎么启动的:

         ~$ cd /home/demon/mysql/bin

         ~$ ./mysqld_multi --defaults-file=/home/demon/mysql/my.cnf start 1-2

         查看运行情况,我希望你都检查下

         1.通过命令查看运行情况

         ~$./mysqld_multi --defaults-file=/home/demon/mysql/my.cnf report 

         2.查看/home/demon/mysql下是否有对用的sock文件

         3.通过查看日志检查错误,日志记录地方在 /home/demon/mysql/share/mysqld_multi.log

         4.当然就是连接数据库了

         ~$ mysql -h ***.***.***.*** -P 3400 -u root

         这样去查看你的数据库情况,使用这种启动是可以不带-S 参数的

 

PS:

配置文件的查找顺序
第一搜,首先读取/etc/my.cnf
第二搜,$datadir/my.cnf,在data目录下寻找此配置文件,每个实例应该在自己的datadir下配置my.cnf文件。
第三搜,defaultfile=/path/my.cnf 通常写在命令行上,mysqld_safe defaultfile=/tmp/my.cnf &等执行。
第四搜,~/my.cnf 当前用户下的配置文件。



原创粉丝点击