91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一鍵自動化部署(定制rpm包)

發布時間:2020-07-14 05:45:26 來源:網絡 閱讀:12361 作者:邱月濤 欄目:MySQL數據庫

部署--前篇   

    上午將MySQL多實例部署完成,由于有公司特定一些需求,需要源碼安裝,現在需要批量部署,如果一臺臺部署,就太過麻煩,而且浪費時間,這個時候自動化部署 就體現出價值了

    我們將MySQL制作定制化rpm包,然后放到我們的yum倉庫中,在將yum所有客戶端,都指向yum源,之后就是喝喝茶,看看片,輕松批量部署了,廢話不多說,開干。

  如果MySQL多實例還沒配置的,或不了解軟件的安裝方式 的

 請參考:http://qiuyt.blog.51cto.com/1229789/1920686

# 博主新的博客地址: https://www.dgstack.cn/ 進入有驚喜哦~~ 歡迎收藏

一、Yum安裝介紹

   yum就是{Yellow dog Updater, Modified} ×××的狗,用來針對rpm包的管理器。

它的優點:簡單、高效,解決依賴問題;缺點:前期定制包復雜


二、制作rpm包

FPM的作者是jordansissel

FPM的github:https://github.com/jordansissel/fpm 

FPM功能簡單說就是將一種類型的包轉換成另一種類型

rpm:redhat 包管理器,具有升級、查詢、驗證,安裝,卸載等5大功能;

可通過rpm --help 獲取幫助信息  ##--hep用來查看系統內置參數

 1,rpm 支持那些包的轉換?

  源類型包:

    dir :將目錄打包成rpm包,就是將編譯安裝好的目錄,直接打包,到對端就相當于安裝目錄解壓。
    rpm:對rpm進行轉換
    gem:對rubygem進行轉換
    pythom :將python包打包成相應的類型

  目標類型包:可以轉發成什么類型的包

    rpm         轉換為rpm包
    deb         轉換為deb包
    solaris       轉換為solaris包
    puppet       轉換為puppet模塊

 2,安裝FPM打包工具

  1)安裝ruby模塊

 yum -y install ruby rubygems ruby-devel
 gem sources list  # 查看當前使用的rubygems倉庫

   2)更新yum源

 添加國內的 淘寶的Rubygems倉庫,外國的源慢,移除原生的Ruby倉庫

gem sources --add http://gems.ruby-china.org --remove http://rubygems.org/

   3)安裝fpm及json依賴包

gem install json -v 1.8.3
gem install fpm -v 1.3.3

    gem從rubygem倉庫安裝軟件類似yum從yum倉庫安裝軟件。首先安裝低版本的json,高版本的json需要ruby2.0以上,然后安裝低版本的fpm,夠用就行。

# 上面的2步安裝僅適合CentOS6系統,CentOS7系統一步搞定,即gem install fpm

  4)驗證

rpm --help  #如果有輸出代表安裝成功

3,FPM參數說明

詳細使用見fpm –help

常用參數
-s          指定源類型  (例如dir 目錄)
-t          指定目標類型,即想要制作為什么包 (比如想做個rpm包)
-n          指定包的名字 ,-name 
-v          指定包的版本號  (用于區分rpm,有同名字但版本不同)
-C          指定打包的相對路徑  Change directory to here before searching forfiles
-d          指定依賴于哪些包
-f          第二次打包時目錄下如果有同名安裝包存在,則強制覆蓋它
-p          輸出的安裝包的目錄,不想放在當前目錄下就需要指定
--post-install      執行rpm包之后所要運行的腳本;同--after-install
--pre-install      軟件包安裝完成之前所要運行的腳本;同--before-install
--post-uninstall    軟件包卸載完成之后所要運行的腳本;同--after-remove
--pre-uninstall     軟件包卸載完成之前所要運行的腳本;同--before-remove

4,定制MySQL rpm包

用法:rpm包執行前運行的腳本 + rpm包 + rpm包執行后腳本

我們這個myslq 之前是編譯安裝的,所以rpm包運行前腳本沒有,直接考慮哪些目錄需要打包

1,確認打包目錄

rpm需要打包的目錄有哪些:(從你編譯安裝過程中查看哪些需要打包)

/data 目錄 ##這個是多實例的數據存放目錄
/application/mysql-5.5.32/   #這個是mysql安裝目錄

2,創建腳本

打包后需要執行的命令,放入腳本中(從你編譯安裝過程中查看哪些命令需要解壓目錄后執行)

確認后,創建腳本
mkdir -p /server/scripts && cd /server/scripts
cat >>mysql_rpm.sh<<EOF 
#!/bin/bash
useradd -s /sbin/nologin mysql -M -u 503
ln -s /application/mysql-5.5.32/ /application/mysql   #創建軟鏈接
find /data -type f -name "mysql"|xargs chmod +x #給mysql啟動腳本+執行權限
chown -R mysql.mysql /data  #授權/data目錄mysql 屬主屬組
cp /application/mysql/bin/* /usr/local/sbin/
/data/3306/mysql start    #啟動多實例
/data/3307/mysql start
echo "# mysql multi instances" >>/etc/rc.local  #添加開機自啟動
echo "/data/3306/mysql start " >>/etc/rc.local  
echo "/data/3307/mysql start " >>/etc/rc.local
EOF

3,生成rpm包

將目錄打包(rpm包,包內包含腳本及目錄)(前面是框  后面是蘋果)

1)Mysql定制rpm包

[root@db02 scripts]# fpm -s dir -t rpm -n mysql -v5.5.32  --post-install /server/scripts/mysql_rpm.sh -f /data/ /application/mysql-5.5.32/
no value for epoch is set, defaulting to nil {:level=>:warn}
no value for epoch is set, defaulting to nil {:level=>:warn}
Created package {:path=>"mysql-5.5.32-1.x86_64.rpm"}
[root@db02 scripts]# ls
mysql-5.5.32-1.x86_64.rpm  mysql_rpm.sh
#-s 指定目錄類型 -t 指定打包類型 -n指定rpm包名 -v 版本號  --post-install 打包后執行的腳本  -f 指定要打包的目錄路徑
#注意打包要使用相對路徑問題

2)站點部署www bbs blog

fpm -s dir -t rpm -n three_web -v 1.0    -f /application/nginx/html/

3)LB負載均衡

fpm -s dir -t rpm -n lb -v 1.8.1 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/install_LB.sh -f  /application/nginx-1.8.1/
lb-1.8.1-1.x86_64

三、查看rpm包內的信息

rpm -qp --scripts  mysql-5.5.32-1.x86_64.rpm     #查看包內腳本信息
rpm -qpl mysql-5.5.32-1.x86_64.rpm      ##查看rpm包內包含哪些文件及目錄

注意:mysql這個目錄比較大,用fpm打包耗時長。平時我們有可能需要對nginx或php做優化,這樣又得重新打包。因此我們可以將mysql分離出來,分別打包。只需在制作nginx+php的rpm包時添加mysql的依賴即可。


四、放入YUM倉庫,客戶端一鍵安裝測試

    1)上傳rpm包到yum倉庫

scp mysql-5.5.32-1.x86_64.rpm root@172.16.1.101:/application/yum/centos6.8/x86_64
#我這里yum倉庫為內網使用IP地址:172.16.1.101,如果沒有*** 可以考慮先給個外網IP10.0.0.101

一鍵自動化部署(定制rpm包)

   2) 更新yum倉庫list

[root@Qiuyuetao x86_64]# createrepo --update /application/yum/centos6.8/x86_64/
rpm包名:mysql-5.5.32-1.x86_64.rpm

   3)一鍵部署Mysql(客戶端

#開啟一臺新的設備,配置yum倉庫客戶端
cd /etc/yum.repos.d
mkdir yum_bak && mv *repo yum_bak
cat >>oldboy.repo<<EOF
[oldboy]
name=Server
baseurl=http://172.16.1.101/yum
enable=1
gpgcheck=0
EOF
yum clean all      
##清空緩存
如果yum倉庫中,一個軟件有多個版本,可以采用如下方法安裝,(你需要的版本)
1,yum list|grep 關鍵字 
2,將軟件版本 復制
3,yum install  復制內容

一鍵自動化部署(定制rpm包)

測試MySQL 登錄

[root@db01 ~]# netstat -lntup|grep 33
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2812/mysqld         
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      2833/mysqld
[root@db01 ~]# mysql -uroot -S /data/3306/mysql.sock 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.03 sec)

##為安全起見設置myslq密碼 及 刪除無用賬戶,權限最小化 設置等等都可自行配置了
過段時間我也會,寫一篇關于mysql安全的帖子,請您多多支持,多多關注,謝謝。
如有問題隨時留言,溝通,感謝!!!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐业县| 苗栗市| 双柏县| 勃利县| 裕民县| 石景山区| 金门县| 兴安县| 凤翔县| 白银市| 泗水县| 中江县| 嘉黎县| 东方市| 儋州市| 民权县| 辽宁省| 连山| 靖边县| 伊吾县| 翁源县| 杭锦后旗| 江孜县| 通许县| 藁城市| 沅江市| 咸阳市| 五家渠市| 阳朔县| 安仁县| 临洮县| 东宁县| 海安县| 昌平区| 洞头县| 桓仁| 辽宁省| 商河县| 澄江县| 彰化县| 昂仁县|