mysql多實例

一、安裝環境


    操作系統:CentOS release 6.6 (Final)(最小化安裝)

    mysql版本:mysql-5.5.32.tar.gz

    cmake版本:cmake-2.8.7.tar.gz


二、安裝基本依賴包


    首先將yum源更改爲國內的阿里yum源


    [root@oldboy ~]# yum install wget -y

    [root@oldboy ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    [root@oldboy ~]# cd /etc/yum.repos.d

    [root@oldboy yum.repos.d]# yum makecache


    安裝基本包以及必備依賴包


    [root@oldboy ~]# yum install make gcc vim lrzsz tree ncurses-devel libaio-devel qt* -y


三、源碼編譯安裝cmake和mysql


    首先創建存放源碼包的文件夾,養成良好的運維習慣


    [root@oldboy ~]# mkdir /server/tools -p

    [root@oldboy ~]# cd /server/tools

    

    我是在真機上將源碼包下載下來,然後通過rz上傳到服務器指定存放目錄。(secureCRT和Xshell均支持本地和遠程服務器的上傳和下載)


    [root@oldboy tools]# rz

    wKiom1d6AtTBx_PKAABYtMgvEn4841.png-wh_50

    

    解壓cmake


    [root@oldboy tools]# tar -zxvf cmake-2.8.7.tar.gz 

    [root@oldboy tools]# cd cmake-2.8.7


    編譯cmake


    [root@oldboy cmake-2.8.7]# ./configure


    安裝cmake

    

    [root@oldboy cmake-2.8.7]# gmake && gmake install


    解壓mysql


    [root@oldboy tools]# tar -zxvf mysql-5.5.32.tar.gz

    [root@oldboy tools]# cd mysql-5.5.32


    創建mysql用戶

   

    [root@oldboy mysql-5.5.32]# groupadd mysql

    [root@oldboy mysql-5.5.32]# useradd -g mysql -s /sbin/nologin -M mysql


    編譯mysql


    [root@oldboy mysql-5.5.32]# mkdir /application -p

    [root@oldboy mysql-5.5.32]#cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock -DEXTRA_CHARSETS=gbk.gb2312.utf8.ascii -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0


    安裝mysql


    [root@oldboy mysql-5.5.32]# make && make install



四、複製my.cnf


    [root@oldboy mysql-5.5.32]# cp /server/tools/mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf


五、軟鏈接以及環境變量配置


    [root@oldboy mysql-5.5.32]# ln -s /application/mysql-5.5.32/ /application/mysql

    [root@oldboy mysql-5.5.32]# echo 'PATH=/application/mysql/bin:$PATH' >>/etc/profile

    [root@oldboy mysql-5.5.32]# source /etc/profile



六、授權


    [root@oldboy mysql-5.5.32]# chown -R mysql.mysql /application/mysql/data/

    [root@oldboy mysql-5.5.32]# chmod -R 1777 /tmp/


七、創建mysql多實例的數據文件目錄


    [root@oldboy mysql-5.5.32]# mkdir -p /data/{3306,3307}/data

    [root@oldboy mysql-5.5.32]# tree /data

    wKioL1d6BsqQYB6TAAAlbPOmZHA890.png-wh_50


八、創建mysql實例的配置文件my.cnf


    [root@oldboy 3306]# cp /server/tools/mysql-5.5.32/support-files/my-small.cnf my.cnf

    [root@oldboy 3307]# vim my.cnf


    可以根據自己的需要對配置文件做設置(附件中有my.cnf)


    [root@oldboy 3306]# cp my.cnf /data/3307/

    [root@oldboy 3307]# sed -i 's#3306#3307#g' my.cnf

    [root@oldboy 3307]# vim my.cnf

        將server-id改成3

    [root@oldboy 3307]# chown -R mysql.mysql /data/


九、初始化數據庫


    [root@oldboy 3306]# cd /application/mysql/scripts/

    [root@oldboy scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql

    [root@oldboy scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql

    看見兩個OK就成功啦!


十、啓動mysql多實例


    [root@oldboy scripts]# mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &

    [root@oldboy scripts]# mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 > /dev/null &


    可以自己編寫mysql啓動腳本(附件中有mysql啓動腳本)


    查看下mysql多實例是否生效,即查看3306和3307是否開啓

    [root@oldboy scripts]# ss -ntulp|grep 330

    wKioL1d6C_XC1D_EAAAyvezZ5zk622.png-wh_50

    



十一、mysql啓動腳本啓動mysql


    [root@oldboy 3306]# chown mysql:mysql mysql

    [root@oldboy 3307]# chown mysql:mysql mysql

    [root@oldboy 3306]# chmod u+x mysql

    [root@oldboy 3307]# chmod u+x mysql


    [root@oldboy 3306]# /data/3306/mysql start

    [root@oldboy 3306]# /data/3307/mysql start

    

    

    [root@oldboy 3306]# ss -ntulp|grep 330

    tcp    LISTEN     0      128                    *:3306                  *:*      users:    (("mysqld",68932,13))

    tcp    LISTEN     0      128                    *:3307                  *:*      users:    (("mysqld",69710,13))


 十二、多實例進入mysql配置


    [root@oldboy ~]# mysqladmin password oldboy123 -S /data/3306/mysql.sock

    [root@oldboy ~]# mysqladmin password oldboy456 -S /data/3307/mysql.sock


    進入mysql

    

    [root@oldboy ~]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock


    wKioL1d6DiyQI5YeAAB-HknMbZw259.png-wh_50


    [root@oldboy ~]# mysql -uroot -poldboy456 -S /data/3307/mysql.sock


    wKiom1d6DlOzBT_mAAB_pd5C2_Y534.png-wh_50



    mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | test               |

    +--------------------+

    4 rows in set (0.00 sec)


    

    mysql> select user,host from mysql.user;

    +------+--------------------+

    | user | host               |

    +------+--------------------+

    | root | 127.0.0.1          |

    | root | ::1                |

    | root | localhost          |

    |      | oldboy.example.com |

    | root | oldboy.example.com |

    +------+--------------------+

    5 rows in set (0.00 sec)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章