国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

快速實現MySQL的部署以及一機多實例部署

2024-07-24 12:44:56
字體:
來源:轉載
供稿:網友

MySQL有三個版本:二進制,源碼包,RPM。

下面講講二進制包的安裝過程

下載地址:http://dev.mysql.com/downloads/mysql/

選擇Linux-Generic

我這里選擇的是mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

解壓后,里面有個文件INSTALL-BINARY,其實給出了二進制包的部署過程

shell> groupadd mysqlshell> useradd -r -g mysql -s /bin/false mysqlshell> cd /usr/localshell> tar zxvf /path/to/mysql-VERSION-OS.tar.gzshell> ln -s full-path-to-mysql-VERSION-OS mysqlshell> cd mysqlshell> chown -R mysql .shell> chgrp -R mysql .shell> scripts/mysql_install_db --user=mysqlshell> chown -R root .shell> chown -R mysql datashell> bin/mysqld_safe --user=mysql &# Next command is optionalshell> cp support-files/mysql.server /etc/init.d/mysql.server

相對于實際生產環境的部署,上面在初始化數據庫的過程中少了一步-即指定配置文件,如果配置文件確認了,數據目錄,日志目錄都確認了,MySQL二進制版本的部署還是相當容易的一件事情。

下面寫了一個腳本,基于后面提供的配置文件,執行格式如下:

sh 4.sh /root/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz /mysql3306 3306

其中 4.sh是腳本,/root/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz是二進制包的絕對路徑,/mysql3306是basedir,3306是需設置的端口,

利用該腳本,只需要預先定義好配置文件,就可進行MySQL數據庫的快速部署以及一臺服務器上多個實例的部署。

#!/bin/bash#需傳入三個參數,第一個是mysql二進制壓縮包的路徑(絕對路徑),譬如/root/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz,#第二個是mysql的basedir,即需要創建在哪個目錄下,第三個是設置的端口號filename=$1basedir=$2port=$3groupadd mysqluseradd -r -g mysql -s /bin/false mysqlcd /usr/localtar zxvf $filename#file是獲取mysql二進制包的名稱,譬如mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz#dir是mysql壓縮包的路徑,不含包名本身,譬如/root,因為后續的配置文件my.cnf也是放到這個路徑下file=`basename $filename`dir=`dirname $filename`#獲取解壓后的名字,即mysql-5.6.28-linux-glibc2.5-x86_64after_tar_file=${file:0:-7}#將二進制包改名為 mysql+端口號,這樣也便于后續的區分mv $after_tar_file mysql"$port"cd mysql"$port"#將原始的配置文件(需和mysql壓縮包放到同層目錄下,在本例中是/root/my.cnf)copy到解壓并改名后的mysql二進制目錄下,修改為my+端口號.cnfcp $dir/my.cnf ./my"$port".cnfuser_cnf=my"$port".cnf#下面主要是將原始配置文件中的路徑修改為自己設定的路徑,即傳入的第二個參數#整個的挑戰在于傳入的路徑帶有"/",在sed替換時會有問題,所有用了一個取巧的思路,即先將"/"替換為"|",進行sed替換,然后再將文件中的"|"修改回"/"basedir_new=${basedir////|}sed -i "s///project//class2/$basedir_new/g" $user_cnfsed -i "s/|////g" $user_cnf#設置server_id,取當前的秒值server_id=`date +%s`sed -i /^server_id/s/.*/server_id="$server_id"/ $user_cnf#設置端口號sed -i /^port/s/.*/port="$port"/ $user_cnf#創建必要的目錄并修改權限mkdir -p "$basedir"/mysql/{run,data,share,log,tmp}chown -R mysql $basedirchgrp -R mysql $basedir#下面這個是非必要的,具體看后面的總結cp share/english/errmsg.sys "$basedir"/mysql/share/#初始化時--force也是非必要的,具體可見后面的總結scripts/mysql_install_db --user=mysql --defaults-file="$user_cnf" --forcebin/mysqld_safe --defaults-file="$user_cnf" --user=mysql &
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 唐河县| 尼玛县| 乌海市| 恩施市| 彭阳县| 尉氏县| 腾冲县| 栾川县| 开鲁县| 南通市| 晋州市| 东台市| 镇康县| 仙居县| 蓬安县| 文水县| 通州市| 铁岭市| 兴和县| 平乡县| 临夏市| 札达县| 清水河县| 九江市| 灵丘县| 哈巴河县| 额敏县| 吉安县| 宝鸡市| 沧州市| 卢氏县| 红安县| 墨脱县| 太白县| 万源市| 德州市| 姜堰市| 武山县| 临汾市| 克东县| 辛集市|