美文网首页
同一台Ubuntu 启动多个mysql

同一台Ubuntu 启动多个mysql

作者: 大富帅 | 来源:发表于2018-01-10 11:37 被阅读163次

    我们在本地搭建主从服务器,首先得启动多个Mysql实例
    默认安装的Mysql配置再/etc/mysql/my.cnf,端口3306
    那下面我们在启动一个3301端口的实例

    1. 复制一份配置
    cp /etc/mysql/my.cnf my_3301.cnf
    
    1. 创建一个给3301实例使用的文件夹
    mkdir /home/mysql/3301
    chown mysql:mysql  /home/mysql/ -R
    
    1. 修改配置
    [client]
    port        = 3301
    socket      = /home/mysql/3301/mysqld.sock
    
    [mysqld_safe]
    socket      = /home/mysql/3301/mysqld.sock
    
    [mysqld]
    user        = mysql
    pid-file    = /home/mysql/3301/mysqld.pid
    socket      = /home/mysql/3301/mysqld.sock
    port        = 3301
    basedir     = /usr
    datadir     = /var/lib/mysql_3301
    tmpdir      = /tmp
    
    1. 初始化数据库
    sudo mysql_install_db  --defaults-file=/etc/mysql/my_3301.cnf  --basedir=/usr/  --datadir=/var/lib/mysql_3301  --user=mysql
    

    5.启动MySql, 要指定.cnf文件启动

     sudo mysqld_safe --defaults-file=/etc/mysql/my_3301.cnf --user=mysql
    

    看看我们的成果:

    [/home/mysql]$ ps aux|grep 3301
    root     14554  0.0  0.0  75556  1232 ?        S    11:26   0:00 sudo mysqld_safe --defaults-file=/etc/mysql/my_3301.cnf --user=mysql
    root     14555  0.0  0.0   4440   628 ?        S    11:26   0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/my_3301.cnf --user=mysql
    mysql    15159  0.0  0.2 698928 42592 ?        Sl   11:28   0:14 /usr/sbin/mysqld --defaults-file=/etc/mysql/my_3301.cnf --basedir=/usr --datadir=/var/lib/mysql_3301 --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/home/mysql/3301/log/error.log --pid-file=/home/mysql/3301/mysqld.pid --socket=/home/mysql/3301/mysqld.sock --port=3301
    lidongw+ 15189  0.0  0.0 107352  1900 pts/1    S+   11:28   0:00 mysql -S /home/mysql/3301/mysqld.sock -uroot -px xxxx
    lidongw+ 27141  0.0  0.0  18304  1024 pts/13   S+   18:42   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=.cvs --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn 3301
    
    1. 登录mysql的shell
    mysql -S /home/mysql/3301/mysqld.sock -uroot -p123456
    远程的加上ip 端口
    mysql -S /home/mysql/3301/mysqld.sock -uroot -p123456 -h localhost  -P 3307
    
    1. 如果上面启动有问题,那就是apparmor的配置问题:
    vim /etc/apparmor.d/usr.sbin.mysqld
    

    添加新的Mysql实例上面配置的datadir目录进去,这样才能让实例正确找到目录

      /var/lib/mysql_3301/ r,
      /var/lib/mysql_3301/** rwk,
    

    保存重启

    service apparmor restart
    

    至此,已经成功运行多一个监听3301的MySql实例,可以为Mysql复制做准备

    相关文章

      网友评论

          本文标题:同一台Ubuntu 启动多个mysql

          本文链接:https://www.haomeiwen.com/subject/wbxonxtx.html