Linux中MySQL多实例安装

Linux中MySQL多实例安装

在MySQL单实例安装中我们已经讲过了如何通过二进制源码的形式安装MySQL单实例,在该文章的基础上,我们接着讲讲如何安装多个实例,也就是多个MySQL的安装

  1. 新建my.cnf文件与/etc/,命令: touch /etc/my.cnf
  2. 将此段代码复制到my.cnf文件中:
    [mysqld]
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
    
    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld_safe
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    log = /var/log/mysqld_multi.log
    user=root
    pass=123456
    
    [mysqld1] 
    server-id = 11
    socket = /tmp/mysql.sock1
    port = 3307
    datadir = /data1
    user = mysql
    performance_schema = off
    innodb_buffer_pool_size = 32M
    skip_name_resolve = 1
    log_error = error.log
    pid-file = /data1/mysql.pid1
    [mysqld2]
    server-id = 12
    socket = /tmp/mysql.sock2
    port = 3308
    datadir = /data2
    user = mysql
    performance_schema = off
    innodb_buffer_pool_size = 32M
    skip_name_resolve = 1
    log_error = error.log
    pid-file = /data2/mysql.pid2
    
  3. 创建数据目录:
    mkdir /data1
    mkdir /data2
    
  4. 赋权: chown mysql.mysql /data{1..2}
  5. 初始化安装,同单实例相同,需要记住安装密码
    mysqld --initialize --user=mysql --datadir=/data1
    mysqld --initialize --user=mysql --datadir=/data2
    
  6. 执行命令,一定要记得记住密码
       	mysqld --initialize --user=mysql --datadir=/data1
       	mysqld --initialize --user=mysql --datadir=/data2
    
    我这里分别是dqWtazy6q4,B和woQ&tFbrQ2kiLinux中MySQL多实例安装_第1张图片
  7. cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multid
  8. 安装perl环境 yum -y install perl perl-devel 等待安装完成
  9. 查看实例状态 mysqld_multi report 在这里插入图片描述
  10. 运行实例 mysqld_multi start Linux中MySQL多实例安装_第2张图片
  11. 执行命令 mysql -u root -S /tmp/mysql.sock1 -p -P3307 回车输入密码登录到端口维3307的实例Linux中MySQL多实例安装_第3张图片
  12. 因为在最开始my.cnf配置文件里面root的密码我们已经配置成了123456,所以这里修改密码为123456,这样才能使用mysqld_multi stop 命令关闭实例 修改密码命令: `set password = ‘123456’;
  13. 允许远程登录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
  14. flush privileges;
  15. exit退出3307数据库同11步进入3308数据库进行相同操作
  16. 如果需要配置开机启动,需要写一个shell脚本,这里就不再赘述怎么写了,大家可以参考这篇博文https://blog.csdn.net/weixin_34128534/article/details/90248836

好了,mysql安装多实例就说到这里,这里还是有一点需要注意,在mysql官网中针对于多实例的配置是这样给出来的
Linux中MySQL多实例安装_第4张图片
配置密码的时候参数名官网给的是password,实际上在我们配置的时候根据官方文档反倒配置不能成功,也就是针对于正在允许的实例我们使用mysqld_multi stop 命令不能正确停止实例, 要正确停止实例的话,参数名应当配置为pass.当然你要是不配置这里的用户名密码,你也同样可以使用 kill -9 来终止进程.

你可能感兴趣的:(MySQL,Linux,MySQL安装,多实例,Linux)