快速筆記01-MySQL多實例的安裝與配置

一:準備環境:

安裝MySQL的依賴包並檢查是否安裝完成mysql

yum -y install  ncurses-devel libaio-devel cmakerpm -qa  ncurses-devel libaio-devel cmake

(2)建立啓動MySQL的用戶sql

useradd -s /sbin/nologin -M mysql

(3)規範軟件包安裝路徑,並下載解壓mysql-5.5.32源碼包數據庫

mkdir /home/oldboy/toolscd /home/oldboy/toolswget ftp://10.0.0.1/mysql-5.5.32.tar.gztar xf mysql-5.5.32.tar.gz cd mysql-5.5.32

二:編譯安裝MySQL源碼包

(1)使用cmake命令對MySQL的源碼包進行編譯安裝app

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 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DENABLED_LOOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITHOUT_PARRTITION_STORAGE_ENGINE=1 \-DWITH_FAST_MUTEXES=1 \-DWITH_ZLIB=bundled \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1\-DWITH_DEBUG=0echo $?

(2)生成Makefile文件的步驟接下來進行安裝ide

make && make installecho $?

(3)到了此步咱們的MySQL數據庫就安裝完成了測試

三:配置MySQL數據庫

(1)爲MySQL安裝目錄建立軟連接spa

ln -s /application/mysql-5.5.32 /application/mysqlll /application/

(2)建立MySQL的多實例目錄日誌

mkdir -p /data/{3306,3307}/data

(3)下載MySQL多實例的/dataorm

cd /home/oldboy/tools/wget ftp://10.0.0.1/data.zipunzip data.zipcp -r data /tree /data/

(4)設置多實例MySQL啓動腳本,容許執行server

find /data -type f -name "mysql"|xargs chmod +xfind /data -type f -name "mysql"|xargs ls -l

(5)對MySQL數據庫的數據目錄進行受權管理

chown -R mysql.mysql /data/ll /data/

(6)對MySQL數據庫進行初始化操做

cd /application/mysql/scripts/./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3306/data/ --user=mysql./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3307/data/ --user=mysql

四:MySQL多實例配置及啓動

(1)啓動第一個MySQL實例

/data/3306/mysql start

(2)啓動第二個MySQL實例

/data/3307/mysql start

(3)啓動完成進行檢查

netstat -lntup|grep 330

(4)將MySQL命令複製到指定的sock目錄

cp /application/mysql/bin/* /usr/local/sbin/

(5)使用mysql命令登陸數據庫,登陸的時候須要指定sock

mysql -uroot -S /data/3306/mysql.sockmysql -uroot -S /data/3307/mysql.sock

(6)設置MySQL多實例的數據庫開機自啓動

echo "#mysql multi instances" >>/etc/rc.localecho "/data/3306/mysql start" >>/etc/rc.localecho "/data/3307/mysql start" >>/etc/rc.localtail -n 3 /etc/rc.local

常見錯誤問題排除:
(1)是否對主機名作解析
(2)tmp目錄的權限是否爲1777
(3)若是啓動MySQL多實例沒有查到端口就稍等一會
(4)經過日誌.err結尾的日誌進行排錯

五:MySQL添加多實例的方法

(1)建立一個多實例的存放目錄

mkdir /data/3308/data -p

(2)複製一份實例到指定的目錄

\cp /data/3306/{my.cnf,mysql} /data/3308/ll /data/3308

(3)修改配置文件以前必定要備份

\cp /data/3308/{my.cnf,my.cnf.source.bak}\cp /data/3308/{mysql,mysql.source.bak}ll /data/3308/

(4)使用sed命令批量更改MySQL的配置文件與啓動腳本

sed -i 's/3306/3308/g' /data/3308/{my.cnf,mysql}sed -i 's/server-id = 1/server-id = 8/g' /data/3308/my.cnf

(5)設置3308數據庫實例全部者爲mysql用戶

chown -R mysql.mysql /data/3308/ll /data/3308/

(6)設置第三個數據庫實例啓動腳本的權限爲700

chmod 700 /data/3308/mysqlll /data/3308/mysql

(7)對第三個數據庫實例進行初始化數據庫操做

cd /application/mysql/scripts/./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3308/data/ --user=mysql

(8)受權mysql啓動腳本具備執行權限

chmod +x /data/3308/mysql

(9)啓動第三個實例的數據庫

/data/3308/mysql start

(10)啓動完成進行檢查

netstat -lntup|grep 330

(11)測試是否能夠進入數據庫

mysql -S /data/3308/mysql.sock

(12)將數據庫設置開機自啓動

echo "/data/3308/mysql start" >>/etc/rc.localtail -1 /etc/rc.local

六:由於腳本里面設置的密碼是oldboy 因此若是咱們不設置將沒法中止MySQL

mysqladmin password oldboy -S /data/3306/mysql.sockmysqladmin password oldboy -S /data/3307/mysql.sockmysqladmin password oldboy -S /data/3308/mysql.sockmysql -uroot -poldboy123 -S /data/3306/mysql.sock

七:MySQL遠程鏈接測試

(1)命令使用格式

mysql -uroot -poldboy -h 10.0.0.52 -P 端口號 -P 爲端口參數

(2)遠程鏈接多實例數據庫測試

mysql -uroot -poldboy -h 10.0.0.52 -P 3306
相關文章
相關標籤/搜索