1. 规划目录
创建软件目录,多个实例共用一个软件目录
[root@localhost ~]# mkdir /mysql_software_56
单实例源码安装流程可以参考
MySQL 5.6源码编译安装流程
http://blog.itpub.net/26506993/viewspace-2142773/
--端口号为3306实例的相关目录
创建数据文件目录和日志目录
[root@localhost ~]# mkdir -p /my3306/data
[root@localhost ~]# mkdir -p /my3306/log/iblog
[root@localhost ~]# mkdir -p /my3306/log/binlog
创建存放Pid和临时文件目录
[root@localhost ~]# mkdir -p /my3306/run
[root@localhost ~]# mkdir -p /my3306/tmp
参数文件
cat /etc/my_5.6_3306.cnf
[mysqld]
basedir=/mysql_software_56
datadir=/my3306/data
port=3306
socket=/my3306/run/mysql.sock
pid_file=/my3306/run/mysqld.pid
--端口号为3307实例的相关目录
创建数据文件目录和日志目录
[root@localhost ~]# mkdir -p /my3307/data
[root@localhost ~]# mkdir -p /my3307/log/iblog
[root@localhost ~]# mkdir -p /my3307/log/binlog
创建存放Pid和临时文件目录
[root@localhost ~]# mkdir -p /my3307/run
[root@localhost ~]# mkdir -p /my3307/tmp
参数文件
cat /etc/my_5.6_3307.cnf
[mysqld]
basedir=/mysql_software_56
datadir=/my3307/data
port=3307
socket=/my3307/run/mysql.sock
pid_file=/my3307/run/mysqld.pid
2. 在初始化MySQL的时候,使用不同的参数文件,不同的数据目录
--初始端口号为3306实例
/mysql_software_56/scripts/mysql_install_db --defaults-file=/etc/my_5.6_3306.cnf --datadir=/my3306/data/ --user=mysql
--初始端口号为3307实例
/mysql_software_56/scripts/mysql_install_db --defaults-file=/etc/my_5.6_3307.cnf --datadir=/my3307/data/ --user=mysql
3. 启动数据库(使用不同的参数文件)
--启动端口号为3306实例
/mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql &
--启动端口号为3307实例
/mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3307.cnf --user=mysql &
--查看进程,可以发现两个mysqld进程,对应不同的参数文件
[root@localhost log]# ps -ef|grep mysql
root 61998 50095 0 07:31 pts/4 00:00:00 /bin/sh /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3307.cnf --user=mysql
mysql 62848 61998 1 07:31 pts/4 00:00:05 /mysql_software_56/bin/mysqld --defaults-file=/etc/my_5.6_3307.cnf --basedir=/mysql_software_56 --datadir=/my3307/data --plugin-dir=/mysql_software_56/lib/plugin --user=mysql --log-error=/my3307/log/error.log --open-files-limit=65535 --pid-file=/my3307/run/mysqld.pid --socket=/my3307/run/mysql.sock --port=3307
root 62930 50095 0 07:39 pts/4 00:00:00 /bin/sh /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql
root 63780 62930 22 07:39 pts/4 00:00:04 /mysql_software_56/bin/mysqld --defaults-file=/etc/my_5.6_3306.cnf --basedir=/mysql_software_56 --datadir=/my3306/data --plugin-dir=/mysql_software_56/lib/plugin --user=mysql --log-error=/my3306/log/error.log --open-files-limit=65535 --pid-file=/my3306/log/run/mysqld.pid --socket=/my3306/log/run/mysql.sock --port=3306
4. 连接数据库(使用不同的socket文件和不同的端口号)
--连接端口号为3306实例
/mysql_software_56/bin/mysql -uroot -p --socket=/my3306/run/mysql.sock
/mysql_software_56/bin/mysql -uroot -p -h 127.0.0.1 -P 3306
--连接端口号为3307实例
/mysql_software_56/bin/mysql -uroot -p --socket=/my3307/run/mysql.sock
/mysql_software_56/bin/mysql -uroot -p -h 127.0.0.1 -P 3307
5. 关闭数据库(使用不同的端口号)
--关闭端口号为3306实例
/mysql_software_56/bin/mysqladmin -uroot -p -P 3306 shutdown
Enter password:
170729 07:42:37 mysqld_safe mysqld from pid file /my3306/log/run/mysqld.pid ended
[2]+ Done /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql
[root@localhost log]# ps -ef | grep mysql
root 61998 50095 0 07:31 pts/4 00:00:00 /bin/sh /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3307.cnf --user=mysql
mysql 62848 61998 0 07:31 pts/4 00:00:06 /mysql_software_56/bin/mysqld --defaults-file=/etc/my_5.6_3307.cnf --basedir=/mysql_software_56 --datadir=/my3307/data --plugin-dir=/mysql_software_56/lib/plugin --user=mysql --log-error=/my3307/log/error.log --open-files-limit=65535 --pid-file=/my3307/run/mysqld.pid --socket=/my3307/run/mysql.sock --port=3307
--关闭端口号为3307实例
/mysql_software_56/bin/mysqladmin -uroot -p -P 3307 shutdown