CentOS安装多实例MySQL配置教程

1 下载量 98 浏览量 更新于2024-09-01 收藏 61KB PDF 举报
"在Centos系统中安装和配置多个MySQL实例的详细步骤" 在CentOS系统中,特别是在项目扩展或需要隔离不同服务的情况下,可能需要在同一台服务器上安装并运行多个MySQL实例。本教程将指导你如何在CentOS 6.3 64位系统上设置两个不同的MySQL实例,每个实例使用不同的端口和系统目录。 首先,确保你的系统已经包含了必要的开发包。你可以通过执行以下命令来安装这些包: ```bash # yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype* ``` 接下来,为了保证MySQL实例能够正常运行,需要关闭iptables防火墙和SELINUX: ```bash # service iptables stop # setenforce 0 # vi /etc/sysconfig/selinux # 将SELINUX=enabled改为SELINUX=disabled ``` 现在,开始安装MySQL实例。这里我们安装两个版本,分别是5.0.56(端口3306)和5.1.72(端口3307)。首先,切换到root用户并创建一个存放源码的目录: ```bash # su - # mkdir ~/src # cd src ``` 然后,下载你需要的MySQL版本: ```bash # wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz # wget http://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gz ``` 在安装前,需要进行一些初始化配置。创建一个名为`mysql`的系统用户,并为每个实例创建相应的数据和日志目录: ```bash # useradd mysql # mkdir /usr/local/mysql{3306,3307}/data # mkdir /usr/local/mysql{3306,3307}/log ``` 接下来,解压MySQL源码,配置编译参数,并进行编译和安装: ```bash # tar zxf mysql-5.0.56.tar.gz # tar zxf mysql-5.1.73.tar.gz # cd mysql-5.0.56 # ./configure --prefix=/usr/local/mysql3306 --with-extra-charsets=complex --enable-assembler --with-ssl --with-zlib-dir=/usr --with-bench --with-big-tables --without-docs --without-debug --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user=mysql --with-ndbcluster=shared --with-innodb --with-archive-storage-engine --with-blackhole-storage-engine --with-federated-storage-engine --with-xtradb-storage-engine --with-readline # make && make install # cd ../mysql-5.1.73 # ./configure --prefix=/usr/local/mysql3307 --with-extra-charsets=complex --enable-assembler --with-ssl --with-zlib-dir=/usr --with-bench --with-big-tables --without-docs --without-debug --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user=mysql --with-ndbcluster=shared --with-innodb --with-archive-storage-engine --with-blackhole-storage-engine --with-federated-storage-engine --with-xtradb-storage-engine --with-readline # make && make install ``` 安装完成后,需要对MySQL配置文件进行修改。例如,对于3306实例,编辑`/usr/local/mysql3306/my.cnf`,添加或修改以下内容: ```ini [mysqld] datadir=/usr/local/mysql3306/data socket=/var/lib/mysql/mysql.sock port=3306 user=mysql ``` 对于3307实例,编辑`/usr/local/mysql3307/my.cnf`,相应地更改端口和数据目录: ```ini [mysqld] datadir=/usr/local/mysql3307/data socket=/var/lib/mysql/mysql.sock port=3307 user=mysql ``` 接下来,初始化数据库,创建必要的系统用户和权限: ```bash # chown -R mysql:mysql /usr/local/mysql{3306,3307}/ # /usr/local/mysql3306/bin/mysqld_safe --defaults-file=/usr/local/mysql3306/my.cnf & # /usr/local/mysql3307/bin/mysqld_safe --defaults-file=/usr/local/mysql3307/my.cnf & # /usr/local/mysql3306/bin/mysql_secure_installation # /usr/local/mysql3307/bin/mysql_secure_installation ``` 最后,启动MySQL服务并将其设置为开机启动: ```bash # /etc/init.d/mysqld start # chkconfig mysqld on ``` 至此,你已经在CentOS系统中成功安装并配置了两个独立的MySQL实例。每个实例运行在不同的端口,拥有各自的系统目录和数据存储位置。你可以根据需要调整配置,如添加更多实例或修改特定的配置选项。记住,在生产环境中,确保所有安全措施得到妥善处理,包括设置强密码、限制远程访问等。