基本理论:利用同一套安装程序,不一样配置文件,不一样启动程序,不一样数据目录。有公用资源,也有私有资源。mysql
实现步骤:sql
一、正常安装mysql,二进制安装或者编译安装。数据库
二、建立mysql多实例总目录,总目录下面建立分目录,如3306,3307等目录,各示例目录下建立data文件夹用于数据文件夹。server
三、cp support-files目录下small配置文件到3306,3307目录,修改必要的参数以下:sock目录,数据目录,server-id,监听端口号等。ip
四、总data目录权限设置 chown -R mysql:mysql /data,前提是mysql用户和组已经创立。资源
五、创建启动脚本放到各自实例下面,并给予可执行权限755.mysql命令PATH变量须要在etc/profiles 下配置,,方便调用safe启动命令。启动脚本内部注意端口号,basedir和datadir的区别定义。编译
tip1:多示例启动实质是利用msyqld_safe指定配置文件启动。变量
tip2:防止错误输出 >/dev/null > 2>&1或者 2>&1 > /dev/null &sed
六、mysql初始化 ,5.5版本之后使用script下的脚命令,分别初始化配置
./mysql_install_db --basedir=/mysql安装目录/ --datadir=/数据库目录/ --user=mysql
七、分别启动两个实例(实质是mysqld_safe启动方式)
/data/3306/mysql start
/data/3307/mysql start
成功会有ok提示。
(这里mysql脚本是事先编辑好的,start是传递给mysql脚本的参数)
八、查看实例启动状况 netstat -lntup |grep 330* 核对3306和3307端口是否监听成功。