CentOS6.5下二进制多实例安装mysql-5.6.27

MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务。各个实例之间是相互独立的,每个实例的datadir, port, socket, pid都是不同的。
1、将所有的安装文件、配置文件、数据目录全部放存/mydata/data目录中,便于今后实现快速迁移、整体备份和快速复制;
2、在一台服务器上配置2个MySQL实例,分别绑定在3306、3307端口。

3、每一个实例单独一个my.cnf配置文件:

[html]  view plain  copy
 print ?
  1. datadir:    /mydata/data/3306  
  2.             /mydata/data/3307  
  3. my.cnf:    /mydata/data/3306/my.cnf  
  4.            /mydata/data/3307/my.cnf  
4、安装MySQL(通用二进制方式)

下面介绍开始安装:

1:添加用户和组

[cpp]  view plain  copy
 print ?
  1. [root@CentOS mysql]# groupadd mysql  
  2. [root@CentOS mysql]# useradd -r -g mysql mysql  

2:安装mysql到/usr/local/mysql下

[cpp]  view plain  copy
 print ?
  1. [root@CentOS ~]# cd /tmp  
  2. [root@CentOS tmp]# ll mysql-5.6.27-linux-glibc2.5-i686.tar.gz   
  3. -rw-r--r--. 1 root root 304056226 11月 17 04:12 mysql-5.6.27-linux-glibc2.5-i686.tar.gz  
  4. [root@CentOS tmp]# tar zxf mysql-5.6.27-linux-glibc2.5-i686.tar.gz -C /usr/local/  
  5. [root@CentOS tmp]# cd /usr/local/  
  6. [root@CentOS local]# mv mysql-5.6.27-linux-glibc2.5-i686/ mysql  
  7. [root@CentOS local]# chown -R mysql:mysql mysql/  

3:创建MySQL多实例的数据目录

[cpp]  view plain  copy
 print ?
  1. [root@CentOS local]# mkdir /mydata/data/{3306,3307}/data -p  
  2. [root@CentOS mysql]# chown -R mysql:mysql /mydata  
  3. [root@CentOS data]# tree /mydata/data/  
  4. /mydata/data/  
  5. ├── 3306  
  6. │  └── data  
  7. └── 3307  
  8.     └── data  
  9.   
  10. 4 directories, 0 files  

4:提供配置文件,并编辑

[cpp]  view plain  copy
 print ?
  1. [root@CentOS data]# cp /usr/local/mysql/support-files/my-default.cnf /mydata/data/3306/my.cnf  
  2. [root@CentOS data]# cp /usr/local/mysql/support-files/my-default.cnf /mydata/data/3307/my.cnf  
  3. [root@CentOS data]# tree /mydata/data/  
  4. /mydata/data/  
  5. ├── 3306  
  6. │   ├── data  
  7. │   └── my.cnf  
  8. └── 3307  
  9.     ├── data  
  10.     └── my.cnf  
  11.   
  12. 4 directories, 2 files/mydata/data/3306/my.cnf  
# 这里是实验环境,所以简单配置。请各位看官根据实际需求调整
[cpp]  view plain  copy
 print ?
  1. [root@CentOS 3306]# vi /mydata/data/3306/my.cnf  
  2. [client]  
  3. password        = 123456  
  4. port            = 3306  
  5. socket          = /mydata/data/3306/mysql_3306.sock  
  6. default-character-set=utf8  
  7.   
  8. [mysqld]  
  9. port            = 3306  
  10. socket          = /mydata/data/3306/mysql_3306.sock  
  11. pid-file        = /mydata/data/3306/mysql.pid  
  12. user            = mysql  
  13. basedir        = /usr/local/mysql  
  14. datadir        = /mydata/data/3306  
  15. character_set_server=utf8  
  16. character_set_client=utf8  
  17. collation-server=utf8_general_ci  
  18. lower_case_table_names=1  
  19. max_connections=1000  
  20.   
  21. [root@CentOS 3306]# vi /mydata/data/3307/my.cnf  
  22. [client]  
  23. password        = 123456  
  24. port            = 3307  
  25. socket          = /mydata/data/3307/mysql_3307.sock  
  26. default-character-set=utf8  
  27.   
  28. [mysqld]  
  29. port            = 3307  
  30. socket          = /mydata/data/3307/mysql_3307.sock  
  31. pid-file        = /mydata/data/3307/mysql.pid  
  32. user            = mysql  
  33. basedir        = /usr/local/mysql  
  34. datadir        = /mydata/data/3307  
  35. character_set_server=utf8  
  36. character_set_client=utf8  
  37. collation-server=utf8_general_ci  
  38. lower_case_table_names=1  
  39. max_connections=1000  

5、修改数据目录的属主、属组
[root@CentOS /]# chown -R mysql:mysql /mydata/


6、添加环境变量
[root@CentOS bin]# vi /etc/profile
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
[root@CentOS etc]# source /etc/profile


7、初始化
[root@CentOS /]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data/3306 --user=mysql
[root@CentOS /]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data/3307 --user=mysql
[root@CentOS /]# chown -R mysql:mysql /mydata/


8、启动/关闭 实例

[cpp]  view plain  copy
 print ?
  1. [root@CentOS 3307]# netstat -tulpn | grep -i mysql  
  2. [root@CentOS 3307]# mysqld_safe  --defaults-file=/mydata/data/3306/my.cnf 2>&1 > /dev/null &  
  3. [1] 2026  
  4. [root@CentOS 3307]# mysqld_safe  --defaults-file=/mydata/data/3307/my.cnf 2>&1 > /dev/null &  
  5. [2] 2251  
  6. [root@CentOS 3307]# netstat -tulpn | grep -i mysql  
  7. tcp        0      0 :::3306                     :::*                        LISTEN      2229/mysqld           
  8. tcp        0      0 :::3307                     :::*                        LISTEN      2454/mysqld   
  9.   
  10. # 关闭实例,这里mysql的root用户并没有设置密码,密码提示直接敲 Enter即可  
  11. [root@CentOS 3306]# mysqladmin -uroot -p -S /mydata/data/3306/mysql_3306.sock shutdown  
  12. Enter password:   
  13. [1]-  Done                    mysqld_safe --defaults-file=/mydata/data/3306/my.cnf &>/dev/null  (wd: /mydata/data/3307)  
  14. (wd now: /mydata/data/3306)  
  15. [root@CentOS 3306]# mysqladmin -uroot -p -S /mydata/data/3307/mysql_3307.sock shutdown  
  16. Enter password:   
  17. [2]+  Done                    mysqld_safe --defaults-file=/mydata/data/3307/my.cnf &>/dev/null  (wd: /mydata/data/3307)  
  18. (wd now: /mydata/data/3306)  
  19. [root@CentOS 3306]# netstat -tulpn | grep -i mysql  

9、测试连接登录实例
#我们需要指定通过哪一个套接字进行连接
#注意:这里mysql的root用户并没有设置密码,所以可以直接登录

[cpp]  view plain  copy
 print ?
  1. [root@CentOS /]# mysql -uroot -p -S /mydata/data/3306/mysql_3306.sock  
  2. mysql> create database d3306;  
  3. Query OK, 1 row affected (0.00 sec)  
  4.   
  5. mysql> show databases;  
  6. +--------------------+  
  7. | Database           |  
  8. +--------------------+  
  9. | information_schema |  
  10. | d3306              |  
  11. | data               |  
  12. | mysql              |  
  13. | performance_schema |  
  14. | test               |  
  15. +--------------------+  
  16. 6 rows in set (0.02 sec)  
  17.   
  18. mysql> exit;  
  19. [root@CentOS /]# mysql -uroot -p -S /mydata/data/3307/mysql_3307.sock  
  20. mysql> create database d3307;  
  21. Query OK, 1 row affected (0.00 sec)  
  22.   
  23. mysql> show databases;  
  24. +--------------------+  
  25. | Database           |  
  26. +--------------------+  
  27. | information_schema |  
  28. | d3307              |  
  29. | data               |  
  30. | mysql              |  
  31. | performance_schema |  
  32. | test               |  
  33. +--------------------+  
  34. 6 rows in set (0.01 sec)  
  35.   
  36. mysql> system date  
  37. 2015年 11月 19日 星期四 05:00:48 CST  

参考:

http://www.linuxidc.com/Linux/2014-07/104508.htm

发布了29 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/yangleiGJ/article/details/54962371
今日推荐