ubuntu下一台mysal启动多实例

          由于想配置mysql 的读写分离,但是我只有一台阿里云服务器,而且只安装了一个mysql,因为一台mysql上启动多实例的话,相当于运行了多台mysql数据库,所以这里就利用启动mysql多实例来模拟两台mysql,从而配置mysql的主从复制,进而利用mycat配置mysql的读写分离。

                       


 我们的工作

一、新建一个存放实例的文件夹,实例的数据都在里面。

一、复制mysql的配置文件my.cnf,名字自己取我这里是3303.cnf,当做实例启动的配 置文件


一、新建数据文件夹

       需要说明的是,文件夹的位置自己拟定,而且需要记住路径,我这里新建的

       路径是/var/lib/,如图片所示,箭头所指就是我之前配置好的数据文件夹,现在我们来配置多一个,命名为3_mysql(名字自己取,记得路径就行)。

              

              

               1、 以前我配置好的两个实例

               

              

               

               2、新建3_mysql

                cd /var/lib/   

                mkdir 3_mysql

               

               

              

               3、赋予3_mysql文件夹mysql权限

               chown -R mysql.mysql 3_mysql

               

               

                     

                    4、在apparmor中添加读写权限

               /var/lib/3_mysql / r,

               /var/lib/3_mysql /** rwk,
 

                打开apparmor

                 vim /etc/apparmor.d/usr.sbin.mysqld

                           如图所示,添加权限
                      
            

             注意

             加入权限后,我们还要刷新一下才有效

             service apparmor restart

      至此,我们的数据文件就暂告一段落,接下来配置mysql配置文件

 

二、配置mysql配置文件

        

      一些说明:

         

     1、mysql启动时会读取一个配置文件my.cnf,我们想要增加一个实例,只要复制多

           份my.cnf就行了,当然名字要改成自己喜欢的,开启几个就复制几个,同样的,

           你的数据文件夹也就要配置多几个,一一对应的。

     2、 socket、pid、log文件都是在启动以后才生成的,并且socket和pid在启动时生

          成,结束mysql实例后就会删除。

   

     3、我这里复制my.cnf 到3303.cnf,也就是我们增加实例的配置文件,对应我们刚才

          配置的3_mysql数据文件夹

     

     开始配置

     1、找到自己本机mysql的配置文件my.cnf

           要是用apt-get  install mysql安装的话,my.cnf就在/etc/mysql这个路径下

          我的话就是在/etc/mysql/下面,要是手动安装的,找不到了也不急

          利用查询命令find / -name my.cnf 找到它的路径

           2、 复制my.cnf 3303.cnf

             cd /etc/mysql

             

            

             cp my.cnf 3303.cnf

             

             

        3、配置我们刚才复制的3303.cnf(我们当前处于/etc/mysql)

              vim 3303.cnf

              如图是我们需要修改配置的区域

             

              

             需要修改的属性:

            <1> 端口port:    port=3303

            <2> socket        socket=/var/lib/3_mysql/mysqld.sock

            <3> pid-file        pid-file=/var/lib/3_mysql/mysqld.pid

            <4> datadir        datadir=/var/lib/3_mysql

            <5> log_error     log_error=/var/lib/3_mysql/error.log

            <6>注释掉nice =0    #nice = 0

          

            如图,修改后的配置文件

            

            

             

              

            修改log日志路径,方便我们排错

            

          

           4、初始化我们的数据库

           最后一步了,看看我们的配置文件3303.cnf,和数据文件夹3_mysql有没有起

           作用

           

          <1>找到mysql_install_db

                find / -name mysql_install_db

                我这里是

                /usr/bin/mysql_install_db

                如图所示的路径

                

          <2>执行初始化语句

                cd /usr/bin/

                mysql_install_db  --defaults-file=/etc/mysql/3303.cnf   --basedir=/usr/ 

                 --datadir=/var/lib/3_mysql --user=mysql 

              如图:

                                 

           

           5、启动我们刚才初始化的3303.cnf

         

       mysqld_safe --defaults-file=/etc/mysql/3303.cnf   --user=mysql  &   

               如果一直卡在那里不动,那就说明启动成功

                 我们测试下端口是否监听

                 netstat -nlt | grep 3303

                 

                 如果如图所示显示监听,那么启动成功!

          

           6、连接登录我们刚才启动的3303实例

             

            mysql -S /var/lib/3_mysql/mysqld.sock  -P 3303         

              

            如图所示,恭喜你成功了,接下来修改用户密码

mysql> update user set authentication_string=password("123456") where user='root' and host='localhost';
mysql> flush privileges;
mysql> quit


         到此配置ubuntu下配置mysql多实例成功


        启动mysql特定实例

        mysqld_safe --defaults-file=/etc/mysql/3303.cnf


        关闭mysql实例

        mysqladmin -u root -p123456  -S /var/lib/3_mysql/mysqld.sock shutdown


       登录mysql实例
       mysql -S /var/lib/3_mysql/mysqld.sock  -P 3303


       远程连接加上ip即可
       mysql -uroot -p -S /var/lib/3_mysql/mysqld.sock -hlocalhost  -P 3303

        



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值