当前位置: 代码迷 >> 综合 >> SuSE Linux安装多MySQL实例
  详细解决方案

SuSE Linux安装多MySQL实例

热度:73   发布时间:2024-01-10 10:41:08.0

在一个Linux中安装多个MySQL是常见的需求,MySQL软件包中已经自带了一个mysqld_multi的脚本来满足这种需求,然而,FromDual所提供的MyEnv是一种更好更完善的解决方法。其中,一个明显的优势是MyEnv支持多个MySQL的BASEDIR,即多个MySQL软件版本。下面是笔者在实践中,在SuSE Linux安装多MySQL的实践操作,供各位参考。


操作系统准备
没有的话添加操作系统mysql用户
groupadd dba
useradd -g dba mysql
mkdir /home/mysql
chown -R mysql:dba /home/mysql

安装php相关软件包
SuSE Linux 11.2的话:php5-pcntl php5-mysql php5-posix
SuSE Linux 11.3的话:php53-pcntl php53-mysql php53-posix

修改/etc/php5/cli/php.ini,设置以下参数
variables_order = "EGPCS"


部署MySQL软件
软件准备
cd /app
tar xvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.25-linux-glibc2.5-x86_64 mysql
chown -R mysql:dba mysql


创建MySQL实例
准备数据目录(文件系统以/data为例,子目录命令规则为my后添加端口号)
mkdir /data/my3306
chown -R mysql:dba /data/my3306

切换到mysql用户下
su - mysql

准备参数文件/data/my3306/my.cnf
[client]
socket=/data/my3306/mysql.sock

[mysqld]
socket=/data/my3306/mysql.sock
explicit_defaults_for_timestamp=TRUE
basedir=/app/mysql
datadir=/data/my3306

初始化
cd /app/mysql
/app/mysql/scripts/mysql_install_db --defaults-file=/data/my3306/my.cnf

继续添加创建其他MySQL实例。


安装myenv
创建目录和下载软件
mkdir /etc/myenv
chown -R mysql:dba /etc/myenv
su - mysql
tar xf myenv-1.2.0.tar
mv myenv-1.2.0 myenv

切换到root用户执行以下
cp /home/mysql/myenv/bin/myenv.server /etc/init.d/myenv
chkconfig --add myenv; chkconfig myenv on

切换回mysql执行以下命令,第一次选择t,第二次选择a添加之前那个MySQL实例(参考后续章节),第三次选择y
myenv/bin/installMyEnv

将MySQL添加到myenv
第一种方式,执行myenv/bin/installMyEnv,并根据指示添加

第二种方式,按以下模板手工添加到/etc/myenv/myenv.conf
[my3306]
 start                = yes
 stop                 = yes
 hideschema           = mysql,performance_schema,lost+found
 basedir              = /app/mysql
 datadir              = /data/my3306
 user                 = mysql
 port                 = 3306
 socket               = /data/my3306/mysql.sock
 my.cnf               = /data/my3306/my.cnf
 stage                = production
 angel                = yes

按照以上步骤完成其他MySQL实例的添加。


  相关解决方案