实战mycat读写分离和分库分表(1)-本地mysql多实例搭建

前言

出于学习的目的在本地搭建了一套基于mycat的mysql集群环境的流程,可以做到多主-多从,分库分表来应对大单表过千万数量级的瓶颈。软件环境为win10+mycat1.6+mysql-5.7.18

  1. 下载mysql for windows压缩包版本,然后创建4个目录分别为mysql-m1、mysql-s1、mysql-s2、mysql-s3,为一主多从做准备,接下来把压缩包分别压缩至这4个目录,并分别创建my.ini文件在目录下。
  2. my.ini配置准备
    mysql-m1:
    [mysqld]
    
     log_bin = log
     basedir = D:\\Program Files\\mysql-m1
     datadir = D:\\Program Files\\mysql-m1\data
     port = 3306
     character_set_server=utf8
     server_id = 10
    
    mysql-s1:
    [mysqld]
    
     #log_bin = log 从库可以不开启binlog
     basedir = D:\\Program Files\\mysql-s1
     datadir = D:\\Program Files\\mysql-s1\data
     port = 3307
     character_set_server=utf8
     server_id = 11
    
    mysql-s2:
    [mysqld]
    
     #log_bin = log 从库可以不开启binlog
     basedir = D:\\Program Files\\mysql-s2
     datadir = D:\\Program Files\\mysql-s2\data
     port = 3308
     character_set_server=utf8
     server_id = 12
    
    mysql-s3:
    [mysqld]
    
     #log_bin = log 从库可以不开启binlog
     basedir = D:\\Program Files\\mysql-s3
     datadir = D:\\Program Files\\mysql-s3\data
     port = 3309
     character_set_server=utf8
     server_id = 13
    
  3. 初始化mysql实例
    以管理员身份(不然会提示权限错误)运行命令提示符,cd至mysql-m1/bin目录下,执行mysqld install mysql-m1 --defaults-file="D:\Program Files\mysql-m1\my.ini",提示服务安装成功。接着初始化数据,执行mysqld --defaults-file="D:\Program Files\mysql-m1\my.ini" --initialize,稍等片刻,执行成功没有任何提示。另外三个库也以此类推安装并初始化。然后即可启动4个mysql服务,可以在操作系统的服务中找到启动也可用命令行的方式:net start mysql-m1
    注:--defaults-file属性一定要,并且要对应相关目录下的my.ini不然可能会导致mysql服务无法启动。
  4. 重置mysql的root用户密码
密码默认生成在data目录下xxx.err文件中有一行A temporary password is generated for root@localhost:xxx,就是密码了,然后cd到bin目录下执行命令,mysql -P3306 -uroot -pxxx,登录进去。 执行以下命令修改root用户密码为123456,依次类推修改另外三个库的。
注:mysql -P 一定要加上,指定对应的端口号,不然是默认的3306
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

你可能感兴趣的:(java,EE,MySql)