mysql -----多实例

什么是实例?

  • 进程+多个线程+预分配的内存结构

MySQL多实例:

  • 多个进程+多个线程+多个预分配内存结构

 

多个配置文件:

  • 多个端口
  • 多个数据目录
  • 多个socket文件

创建多实例:

  1. 创建多个数据目录
    #在根目录data下创建目录3307~3309
    
    [root@elk01 ~]# mkdir -p /data/330{7..9}
  2. 创建多个配置文件
    vim /data/3307/my.cnf
    #编辑文件:
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/3307/data
    port = 3307
    server_id = 7
    log-bin = /data/3307/data/mysql-bin
    log_error = /data/3307/data/mysql.err
    socket = /data/3307/data/mysql.sock
    
    
    vim /data/3308/my.cnf
    #编辑文件:
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/3308/data
    port = 3308
    server_id = 8
    log-bin = /data/3308/data/mysql-bin
    log_error = /data/3308/data/mysql.err
    socket = /data/3308/data/mysql.sock
    
    
    vim /data/3309/my.cnf
    #编辑文件:
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/3309/data
    port = 3309
    server_id = 9
    log-bin = /data/3309/data/mysql-bin
    log_error = /data/3309/data/mysql.err
    socket = /data/3309/data/mysql.sock
  3. 切换目录
    [root@oldboy data]# cd /usr/local/mysql/scripts/
  4. 初始化
    #3307初始化
    [root@elk01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data
    #3308初始化
    [root@elk01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/data
    #3309初始化
    [root@elk01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3309/data
  5. 启动MySQL
    [root@elk01 scripts]# mysqld_safe --defaults-file=/data/3307/my.cnf &
    [root@elk01 scripts]# mysqld_safe --defaults-file=/data/3308/my.cnf &
    [root@elk01 scripts]# mysqld_safe --defaults-file=/data/3309/my.cnf &
  6. 查看启动端口
    [root@oldboy scripts]# netstat -lntup
  7. 连接mysql
    [root@oldboy scripts]# mysql -uroot -p -S /data/3307/data/mysql.sock
    [root@oldboy scripts]# mysql -uroot -p -S /data/3308/data/mysql.sock
    [root@oldboy scripts]# mysql -uroot -p -S /data/3308/data/mysql.sock
  8. 设置密码
    [root@elk01 scripts]# mysqladmin -uroot  -S /data/3307/data/mysql.sock password '3307'
    [root@elk01 scripts]# mysqladmin -uroot  -S /data/3308/data/mysql.sock password '3308'
    [root@elk01 scripts]# mysqladmin -uroot  -S /data/3309/data/mysql.sock password '3309'
  9. 查看
    [root@elk01 scripts]# mysql -uroot -p3307 -S /data/3307/data/mysql.sock -e "show variables like 'server_id'"

  10. 创建快捷开启
    #3307
    [root@elk01 scripts]# vim /usr/local/bin/mysql3307
     #编辑文件:
            mysql -uroot -p3307 -S /data/3307/data/mysql.sock
    #确认:
    [root@elk01 scripts]# chmod +x /usr/local/bin/mysql3307
    
    #3308
    [root@elk01 scripts]# vim /usr/local/bin/mysql3308
     #编辑文件:
            mysql -uroot -p3308 -S /data/3308/data/mysql.sock
    #确认:
    [root@elk01 scripts]# chmod +x /usr/local/bin/mysql3308
    
    #3309
    [root@elk01 scripts]# vim /usr/local/bin/mysql3309
     #编辑文件:
            mysql -uroot -p3309 -S /data/3309/data/mysql.sock
    #确认:
    [root@elk01 scripts]# chmod +x /usr/local/bin/mysql3309
  11. 现在开启
    mysql3307
    mysql3308
    mysql3309

 PS:多实例使用 必须先 连接 mysql ( mysql -uroot -p -S /data/3307/data/mysql.sock ) ------- > mysql3307

 

posted @ 2019-04-17 15:01  萤huo虫  阅读(113)  评论(0编辑  收藏  举报