MySQL多实例安装

2014-11-24 18:07:44 · 作者: · 浏览: 0

一共有两种方法


一、安装端口为3306mysql


tar -zxvf mysql-5.1.44.tar.gz


cd mysql-5.1.44


创建mysql用户组


groupadd mysql


创建mysql3306用户


useradd -g mysql mysql3306


编译安装


./configure --prefix=/usr/local/mysql3306 --with-unix-socket-path=/usr/local/mysql3306/var/mysql.sock --sysconfdir=/usr/local/mysql3306/--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --disable-shared --with-mysqld-user=mysql3306 --with-extra-charsets=gb2312,big5,gbk


make && make install


创建配置文件目录并拷贝配置文件


mkdir /usr/local/mysql3306/etc


cp support-files/my-medium.cnf /usr/local/mysql3306/etc/my.cnf


添加到系统服务并开机启动


cp support-files/mysql.server /etc/init.d/mysqld3306


chmod 755 /etc/init.d/mysqld3306


chkconfig --add mysqld3306


chkconfig --level 2345 mysqld3306 on


配置系统环境变量


echo "PATH=/usr/local/mysql3306/bin:\$PATH" >> /home/mysql3306/.bashrc


初始化安装数据库


/usr/local/mysql3306/bin/mysql_install_db --user=mysql3306


chown -R mysql3306:mysql /usr/local/mysql3306/*


启动服务


/usr/local/mysql3306/bin/mysqld_safe --user=mysql3306 &


更改mysql数据库root密码


/usr/local/mysql3306/bin/mysqladmin -u root password root //root改为你需要的密码


重启mysql3306服务


service mysqld3306 restart


二、安装端口为3307的mysql


tar -zxvf mysql-5.1.44.tar.gz


cd mysql-5.1.44


创建mysql3307用户


useradd -g mysql mysql3307


编译安装


./configure --prefix=/usr/local/mysql3307 --with-unix-socket-path=/usr/local/mysql3307/var/mysql.sock --sysconfdir=/usr/local/mysql3307/etc --with-charset=utf8 --without-debug --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --disable-shared --with-mysqld-user=mysql3307 --with-extra-charsets=gb2312,big5,gbk


make && make install


创建配置文件目录并拷贝配置文件


mkdir /usr/local/mysql3307/etc


cp support-files/my-medium.cnf /usr/local/mysql3307/etc/my.cnf


添加到系统服务并开机启动


cp support-files/mysql.server /etc/init.d/mysqld3307


chmod 755 /etc/init.d/mysqld3307


chkconfig --add mysqld3307


chkconfig --level 2345 mysqld3307 on


初始化安装数据库


/usr/local/mysql3307/bin/mysql_install_db --user=mysql3307


chown -R mysql3307:mysql /usr/local/mysql3307/*


修改my.cnf设置监听端口为3307


vi /usr/local/mysql3307/etc/my.cnf


配置系统环境变量


echo "PATH=/usr/local/mysql3306/bin:\$PATH" >> /home/mysql3307/.bashrc


启动mysql3307服务


/usr/local/mysql3307/bin/mysqld_safe --user=mysql3307 &


修改mysql3307数据库密码


/usr/local/mysql3307/bin/mysqladmin -u root password root //root改为你需要的密码


重启数据库服务


service mysqld3307 restart


三、编译参数解析
--prefix=/usr/local/mysql3306 指定安装路径
--with-unix-socket-path=/usr/local/mysql3306/var/mysql.sock 指定socket的套接字文件,多个实例时必须指定,否则多个实例会同时默认取/tmp/mysql.sock
--sysconfdir=/usr/local/mysql3306/etc mysql实例启动后的配置文件所在,默认是安装路径下的[PREFIX/etc]此处指定的目的是强调需为每个实例配置my.cnf,同时需要保证 /etc/my.cnf不存在,因为启动脚本一般会先去读/etc/my.cnf
--with-charset=utf8 默认字符集
--with-extra-charsets=gb2312,big5,gbk 支持的其他字符集,减少不必要的开销,Mysql默认支持20多种字符集
--without-debug 去掉调试模式,据说可以优化
--enable-assembler 使用一些字符函数的汇编版本,据说可以优化性能
--with-client-ldflags=-all-static 以纯静态方式编译客户端,如果服务器实例上不需要客户端,这项可以不要,不过建议还是留着,登录到数据库服务器上,直接mysql已经是默认习惯了。
--with-mysqld-ldflags=-all-static 以纯静态方式编译服务端,据说对性能优化很有用
--disable-shared 不提供动态链接库
--with-mysqld-user=mysql 启动用户设置为mysql