本篇记录如何在一台机器上安装多个 mysql instance(这样做的好处暂不讨论,可以 google)
1.安装 mysql
1)创建必要的用户,用户组(涉及到安全,不要用 root 安装,且 mysql 不允许直接 sudo 启
动 mysqld,必须指定--user=mysql)
sudo groupadd mysql
sudo useradd -r -g mysql mysql
2)拷贝 tar 文件到某个目录,例如/opt 下,并解压缩
cd /opt
sudo tar zxvf ~/download/mysql-5.x-linux-glibc2.5-x86_64.tar.gz
3)建立链接
cd /usr/local
sudo ln -s /opt/mysql-5.x-linux-glibc2.5-x86_64 mysql
#同时建立到 bin 目录的链接
sudo ln -s /usr/local/mysql/bin/* /usr/local/bin/cd mysql
sudo chown -R mysql .
sudo chgrp -R mysql .
4)安装 db instance
sudo mkdir -p /data/mysql/mysql01 #存放第一个 instance 的 pid,sock,data,依次类推,可以
创建 mysql02,03,...
sudo chown mysql:mysql /data/mysql -R #保证 mysql 用户对/data/mysql 以及其子目录的完全
访问权限
#执行下面的脚本会初始化第一个 instance 的数据库
#在此之前,有可能需要安装 libaio1,运行命令 sudo apt-get install libaio1 libaio-dev
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql/mysql01
#为了安全起见,将全部目录的 owner 改回为 root,除了 data 目录
sudo chown -R root .
sudo chown -R mysql data
#配置 my.cnf,需要修改 datadir,pid,socket 等配置
sudo cp support-files/my-medium.cnf /etc/mysql/my.cnf
#配置服务
sudo cp support-files/mysql.server /etc/init.d/mysql
#启动 mysqlsudo service mysql start
#执行下面的命令,可以验证该端口是否在监听
sudo netstat -nltp | grep mysql