mysql 多实例常规来讲,主要有二种方案可以实现,这二种方案各有利弊,如下:
1、基于多配置文件通过使用多个配置文件来启动不同的进程,以此来实现多实例。
优点:逻辑简单,配置简单
缺点:管理起来不方便
2、基于mysqld_multi通过官方自带的 mysqld_multi 工具,使用单独配置文件来实现多实例
优点:便于集中管理管理
缺点:不方便针对每个实例配置进行定制
本文按第一种基于多配置文件,mysql为redhat6.3系统自带
首先创建目录,并chown mysql
[root@localhost data]# tree -L 2 /data/
/data/├── mysqld3321│ └── data├── mysqld3336│ └── data├── mysqld3337│ └── data├── mysqld3345│ └── data├── mysqld3350│ └── data├── mysqld3352│ └── data└── mysqld3361 └── data然后cp /etc/my.cnf /data/mysqld3361/cd /data/mysqld3361/mv my.cnf my3361.cnfvim my3361.cnf[mysqld]
port=3361datadir=/data/mysqld3361/datasocket=/data/mysqld3361/mysql.sockuser=mysqlsymbolic-links=0[mysqld_safe]log-error=/data/mysqld3361/log/mysqld.logpid-file=/data/mysqld3361/mysqld.pid然后cp my3361.cnf /data/mysqld3337/my3337.cnf
vim /data/mysqld3321/my3321.cnf
。。。。。。。。。。。。。
初始化
mysql_install_db --basedir=/usr --datadir=/data/mysqld3361/data --user=mysql
。。。。。。。。。。。。启动
mysqld_safe --defaults-file=/data/mysqld3361/my3361.cnf &
。。。。。。。。。。。。。。。。。修改实例3361的root密码,使用mysqladmin命令。如下:
mysqladmin -uroot -p password 111111 -S /data/mysqld3361/mysql.sock