*********************************************************************

安装说明:

使用镜像:     CentOS-6.5-x86_64-minimal.iso

系统 :        CentOS release 6.5 (Final)  2.6.32-431.el6.x86_64

mysql 安装目录 /usr/lcoal/mysql

msyql data目录 /usr/local/mysql/data/3306

/usr/local/mysql/data/3307

/usr/local/mysql/data/3308

 

************************************************************************

准备工作:

 

yum -y install lrzsz vim wget tarmv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repoyum makecacheuseradd -M mysql -s /sbin/nologinservice iptables stopsed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/configsetenforce 0chkconfig iptables off

 

安装依赖包:

 

yum -y install make gcc gcc-c++ gcc-gfortran flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof

 

解压包 安装mysql配置工具camke :

 

tar xf mysql-5.6.4-m7.tar.gztar xf cmake-2.8.5.tar.gzcd cmake-2.8.5./configuregmakegmake install

 

开始安装mysql :

 

cd ../mysql-5.6.4-m7cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc -DMYSQL_USER=mysql \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DMYSQL_USER=mysql -DWITH_DEBUG=0 \-DWITH_SSL=systemmake && make install

 

多实例开始配置:

 

cd /usr/local/mysql/data/mkdir -p {3306,3307,3308}/data              #创建实例数据库目录chown -R mysql.mysql /usr/local/mysql/       #授权目录权限为mysql 用户ln -s /usr/local/mysql/bin/* /usr/local/sbin/    #mysql相关命令软连接cd /usr/local/mysql/support-files/cp my-small.cnf ../data/3306/               #拷贝配置文件到实例主目录下面cp my-small.cnf ../data/3307/cp my-small.cnf ../data/3308/

 

更名配置文件:

 

cd ../data/3306mv my-small.cnf my.cnfcd ../3307mv my-small.cnf my.cnfcd ../3308mv my-small.cnf my.cnf

 

初始化数据库:

 

/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3306 –defaults-file=/usr/local/mysql/data/3306/my.cnf –user=mysql/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3307 –defaults-file=/usr/local/mysql/data/3307/my.cnf –user=mysql/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3308 –defaults-file=/usr/local/mysql/data/3308/my.cnf –user=mysql

 

过程中需要看到 有两个OK, 说明就是初始化成功了。如有其它报错请检查权限或者百度。

 

修改配置文件:

 

vim /usr/local/mysql/data/3306/my.cnfvim /usr/local/mysql/data/3307/my.cnfvim /usr/local/mysql/data/3308/my.cnf

 

配置文件内容 (基本相同,只需要修改端口,和server-id ,目录文件名称对应即可)

[client]port                = 3306socket                = /usr/local/mysql/data/3306/mysql.sock[mysqld]port                = 3306socket                = /usr/local/mysql/data/3306/mysql.sockpid-file   = /usr/local/mysql/data/3306/mysql.piddatadir    = /usr/local/mysql/data/3306skip-external-lockingkey_buffer_size = 16Kmax_allowed_packet = 1Mtable_open_cache = 4sort_buffer_size = 64Kread_buffer_size = 256Kread_rnd_buffer_size = 256Knet_buffer_length = 2Kthread_stack = 128Kserver-id        = 1[mysqldump]quickmax_allowed_packet = 16M[mysql]no-auto-rehash[myisamchk]key_buffer_size = 8Msort_buffer_size = 8M[mysqlhotcopy]interactive-timeout

 

启动实例:

 

mysqld_safe –defaults-file=/usr/local/mysql/data/3306/my.cnf &mysqld_safe –defaults-file=/usr/local/mysql/data/3307/my.cnf &mysqld_safe –defaults-file=/usr/local/mysql/data/3308/my.cnf &

 

查看端口状态:

 

[root@localhost mysql]# netstat -anpt|grep 330tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      36275/mysqldtcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      36283/mysqldtcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      36328/mysqld

 

测试进入数据库:

mysql -uroot -S /usr/local/mysql/data/3306/mysql.sock

 

关闭mysql数据库实例:

mysqladmin -uroot -S /usr/local/mysql/data/3306/mysql.sock shutdownmysqladmin -uroot -S /usr/local/mysql/data/3307/mysql.sock shutdownmysqladmin -uroot -S /usr/local/mysql/data/3308/mysql.sock shutdown

 

为mysql实例设置密码:

 

mysqladmin -uroot -S /usr/local/mysql/data/3306/mysql.sock password “root”mysqladmin -uroot -S /usr/local/mysql/data/3307/mysql.sock password “root”mysqladmin -uroot -S /usr/local/mysql/data/3308/mysql.sock password “root”

 

设置密码后 进入数据库:

 

mysql -uroot -proot -S /usr/local/mysql/data/3306/mysql.sockmysql -uroot -proot -S /usr/local/mysql/data/3307/mysql.sockmysql -uroot -proot -S /usr/local/mysql/data/3308/mysql.sock

 

设置密码后 停止mysql数据实例:

 

mysqladmin -uroot -S  /usr/local/mysql/data/3306/mysql.sock shutdown -prootmysqladmin -uroot -S  /usr/local/mysql/data/3307/mysql.sock shutdown -prootmysqladmin -uroot -S  /usr/local/mysql/data/3308/mysql.sock shutdown -proot

 

启动停止脚本 ********************************************************** 启动停止脚本

#!/bin/bash# name: jinchuang# QQ : 1054542382# blog : http://blog.sina.com.cn/jinchuang1025# mysql 多实例多配置文件启动脚本while truedocolor=`echo -e “\033[36m**************************************************** \033[0m”`echo “”echo $colorecho “选择 “启动” 还是 “停止” mysql多实例1 :启动2 :停止3 :退出”read -p “:” mcase $m in1)echo “↓↓”echo “############# mysql 多实例启动 ################1 :3306 实例2 :3307 实例3 :3308 实例4 :启动全部实例5 :退出回车键返回”#while true#doread -p “请输入实例编号启动:” ncase $n in# 3306实例启动1)mysqld_safe –defaults-file=/usr/local/mysql/data/3306/my.cnf 2>&1 >/dev/null &if [ $? -eq 0 ]thenecho “3306 实例启动成功”elseecho “3306 实例启动是败”fi;;#3307实例启动2)mysqld_safe –defaults-file=/usr/local/mysql/data/3307/my.cnf 2>&1 >/dev/null &if [ $? -eq 0 ]thenecho “3307 实例启动成功”elseecho “3307 实例启动是败”fi;;#3308实例启动3)mysqld_safe –defaults-file=/usr/local/mysql/data/3308/my.cnf 2>&1 >/dev/null &if [ $? -eq 0 ]thenecho “3308 实例启动成功”elseecho “3308 实例启动是败”fi;;#全部启动4)/usr/local/sbin/mysqld_safe –defaults-file=/usr/local/mysql/data/3306/my.cnf 2>&1 >/dev/null &/usr/local/sbin/mysqld_safe –defaults-file=/usr/local/mysql/data/3307/my.cnf 2>&1 >/dev/null &/usr/local/sbin/mysqld_safe –defaults-file=/usr/local/mysql/data/3308/my.cnf 2>&1 >/dev/null &sleep 2 ;netstat -lntp#if [ $? -eq 0 ]#    then#        echo “3306,3307,3308 实例启动成功”#    else#        echo “3306,3307,3308 实例启动是败”#fi;;5)exit 1;;#*)#col=`echo -e “\033[36m请输入正确的编号: \033[0m”`#echo        ”        $col!”#;;esac#done;;2)echo “↓↓”echo “############# mysql 多实例停止 ################1 :3306 实例2 :3307 实例3 :3308 实例4 :停止全部实例5 :退出回车键返回”#while true#doread -p “请输入实例编号停止:” ncase $n in# 3306实例停止1)mysqladmin -uroot -S /usr/local/mysql/data/3306/mysql.sock shutdown -prootif [ $? -eq 0 ]thenecho “3306 实例停止成功”elseecho “3306 实例停止是败”fi;;#3307实例停止2)mysqladmin -uroot -S /usr/local/mysql/data/3307/mysql.sock shutdown -prootif [ $? -eq 0 ]thenecho “3307 实例停止成功”elseecho “3307 实例停止是败”fi;;#3308实例停止3)mysqladmin -uroot -S /usr/local/mysql/data/3308/mysql.sock shutdown -prootif [ $? -eq 0 ]thenecho “3308 实例停止成功”elseecho “3308 实例停止是败”fi;;#全部停止4)a=`mysqladmin -uroot -S  /usr/local/mysql/data/3306/mysql.sock shutdown -proot`b=`mysqladmin -uroot -S  /usr/local/mysql/data/3307/mysql.sock shutdown -proot`c=`mysqladmin -uroot -S  /usr/local/mysql/data/3308/mysql.sock shutdown -proot`$a && $b && $cif [ $? -eq 0 ]thennetstat -anpt |grep mysqlecho “3306,3307,3308 实例停止成功”elseecho “3306,3307,3308 实例停止是败”fi;;5)exit 1;;#*)#col=`echo -e “\033[36m请输入正确的编号: \033[0m”`#echo    ”       $col!”#;;esac#done;;3)exit 1;;esacdone