<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        [MySQL]MySQL的自動化安裝部署_MySQL

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 19:59:37
        文檔

        [MySQL]MySQL的自動化安裝部署_MySQL

        [MySQL]MySQL的自動化安裝部署_MySQL:bitsCN.com 有過MySQL運維的人應(yīng)該都清楚,線上的MySQL一般都采用源碼編譯,因為這樣才可以根據(jù)企業(yè)的各自需要選擇要編譯的功能,雖然MySQL的源碼編譯挺簡單的,但是試想一下,如果你有幾百臺服務(wù)器同時要安裝MySQL,難道你還一臺臺去手動編譯、編寫配置文件
        推薦度:
        導(dǎo)讀[MySQL]MySQL的自動化安裝部署_MySQL:bitsCN.com 有過MySQL運維的人應(yīng)該都清楚,線上的MySQL一般都采用源碼編譯,因為這樣才可以根據(jù)企業(yè)的各自需要選擇要編譯的功能,雖然MySQL的源碼編譯挺簡單的,但是試想一下,如果你有幾百臺服務(wù)器同時要安裝MySQL,難道你還一臺臺去手動編譯、編寫配置文件

        bitsCN.com

        有過MySQL運維的人應(yīng)該都清楚,線上的MySQL一般都采用源碼編譯,因為這樣才可以根據(jù)企業(yè)的各自需要選擇要編譯的功能,雖然MySQL的源碼編譯挺簡單的,但是試想一下,如果你有幾百臺服務(wù)器同時要安裝MySQL,難道你還一臺臺去手動編譯、編寫配置文件嗎?這顯然太低效了,本文討論MySQL的自動化安裝部署。

        1、制作符合自己需求的RPM包

        我們要根據(jù)MySQL的源碼編譯符合企業(yè)需求的RPM包,源碼獲取命令如下:
        wget http://downloads.mysql.com/archives/get/file/mysql-5.6.16.tar.gztar -zxvf mysql-5.6.16.tar.gzcd mysql-5.6.16mkdir rpmcd rpm
        在上面我們獲取了源碼,并在源碼主目錄下創(chuàng)建rpm目錄,接著我們在該目錄下創(chuàng)建mysql.spec文件:
        Name: mysqlVersion:5.6.16Release: guahaoLicense: GPLURL: http://downloads.mysql.com/archives/get/file/mysql-5.6.16.tar.gzGroup: applications/databaseBuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: cmakePackager: zhuxj@guahao.comAutoreq: noprefix: /opt/mysqlSummary: MySQL 5.6.16%description The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,and robust SQL (Structured Query Language) database server. MySQL Serveris intended for mission-critical, heavy-load production systems as wellas for embedding into mass-deployed software.%define MYSQL_USER mysql%define MYSQL_GROUP mysql%define __os_install_post %{nil}%buildcd $OLDPWD/../CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"CXX=g++CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"export CFLAGS CXX CXXFLAGScmake . / -DSYSCONFDIR:PATH=%{prefix} / -DCMAKE_INSTALL_PREFIX:PATH=%{prefix} / -DCMAKE_BUILD_TYPE:STRING=Release / -DENABLE_PROFILING:BOOL=ON / -DWITH_DEBUG:BOOL=OFF / -DWITH_VALGRIND:BOOL=OFF / -DENABLE_DEBUG_SYNC:BOOL=OFF / -DWITH_EXTRA_CHARSETS:STRING=all / -DWITH_SSL:STRING=bundled / -DWITH_UNIT_TESTS:BOOL=OFF / -DWITH_ZLIB:STRING=bundled / -DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON / -DWITH_INNOBASE_STORAGE_ENGINE:BOOL=ON / -DWITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON / -DWITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON / -DWITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON / -DDEFAULT_CHARSET=utf8 / -DDEFAULT_COLLATION=utf8_general_ci / -DWITH_EXTRA_CHARSETS=all / -DENABLED_LOCAL_INFILE:BOOL=ON / -DWITH_EMBEDDED_SERVER=0 / -DINSTALL_LAYOUT:STRING=STANDALONE / -DCOMMUNITY_BUILD:BOOL=ON / -DMYSQL_SERVER_SUFFIX='-r5436';make -j `cat /proc/cpuinfo | grep processor| wc -l`%installcd $OLDPWD/../make DESTDIR=$RPM_BUILD_ROOT install%cleanrm -rf $RPM_BUILD_ROOT%files%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP})%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/*%pre%postln -s %{prefix}/lib %{prefix}/lib64%preun%changelog
        有了這個spec文件之后,就可以執(zhí)行如下命令生成我們自己的RPM包:
        rpmbuild -bb ./mysql.spec

        2、編寫my.cnf模板

        my.cnf模板如下:
        [mysqld_safe]pid-file=/opt/mysql/run/mysqld.pid[mysql]prompt=//u@//d //r://m://s>default-character-set=gbkno-auto-rehash[client]socket=/opt/mysql/run/mysql.sock[mysqld]#dirbasedir=/opt/mysqldatadir=/data/mysql/datatmpdir=/data/mysql/tmplog-error=/data/mysql/log/alert.logslow_query_log_file=/data/mysql/log/slow.loggeneral_log_file=/data/mysql/log/general.logsocket=/opt/mysql/run/mysql.sock#innodbinnodb_data_home_dir=/data/mysql/datainnodb_log_group_home_dir=/data/mysql/datainnodb_data_file_path=ibdata1:2G;ibdata2:16M:autoextendinnodb_buffer_pool_size=10Ginnodb_buffer_pool_instances=4innodb_log_files_in_group=4innodb_log_file_size=1Ginnodb_log_buffer_size=200Minnodb_flush_log_at_trx_commit=1innodb_additional_mem_pool_size=20Minnodb_max_dirty_pages_pct=60innodb_io_capacity=200innodb_thread_concurrency=32innodb_read_io_threads=8innodb_write_io_threads=8innodb_open_files=60000innodb_file_format=Barracudainnodb_file_per_table=1innodb_flush_method=O_DIRECTinnodb_change_buffering=allinnodb_adaptive_flushing=1innodb_old_blocks_time=1000innodb_stats_on_metadata=0innodb_read_ahead=0innodb_use_native_aio=0innodb_lock_wait_timeout=50innodb_rollback_on_timeout=0innodb_purge_threads=1innodb_strict_mode=1transaction-isolation=READ-COMMITTED#myisamkey_buffer_size=100Mmyisam_sort_buffer_size=64Mconcurrent_insert=2delayed_insert_timeout=300#replicationmaster-info-file=/data/mysql/log/master.inforelay-log=/data/mysql/log/mysql-relayrelay_log_info_file=/data/mysql/log/mysql-relay.inforelay-log-index=/data/mysql/log/mysql-relay.indexslave_load_tmpdir=/data/mysql/tmpslave_type_conversions="ALL_NON_LOSSY"slave_net_timeout=4skip-slave-startsync_master_info=1000sync_relay_log_info=1000#binloglog-bin=/data/mysql/log/mysql-binserver_id=2552763370binlog_cache_size=32Kmax_binlog_cache_size=2Gmax_binlog_size=500Mbinlog_format=ROWsync_binlog=1000log-slave-updates=1expire_logs_days=0#serverdefault-storage-engine=INNODBcharacter-set-server=gbklower_case_table_names=1skip-external-lockingopen_files_limit=65536safe-user-createlocal-infile=1performance_schema=0log_slow_admin_statements=1log_warnings=1long_query_time=1slow_query_log=1general_log=0query_cache_type=0query_cache_limit=1Mquery_cache_min_res_unit=1Ktable_definition_cache=65536thread_stack=512Kthread_cache_size=256read_rnd_buffer_size=128Ksort_buffer_size=256Kjoin_buffer_size=128Kread_buffer_size=128Kport=3306skip-name-resolveskip-sslmax_connections=4500max_user_connections=4000max_connect_errors=65536max_allowed_packet=128Mconnect_timeout=8net_read_timeout=30net_write_timeout=60back_log=1024#server id
        細心的讀者應(yīng)該會注意在,在my.cnf的末尾在server id上留了空白,在后面的shell腳本會動態(tài)加上,這是因為在一個企業(yè)內(nèi)部的所有MySQL的server id必須保持全局一致性,這樣在主備復(fù)制時才不會導(dǎo)致混亂。其實如果想把這個腳本寫的更通用,完全可以把更多的參數(shù)留白,如port、datadir、內(nèi)存相關(guān)參數(shù)等,這里我只是以server id為例,拋磚引玉。

        3、準備MySQL數(shù)據(jù)目錄模板

        你得事先準備一臺MySQL,可以根據(jù)自己的需求,把通用性的東西放在上面(如賬戶等),下面是一個最簡單的已安裝好的MySQL的數(shù)據(jù)目錄結(jié)構(gòu):
        [root@lx25 mysql]# ls -ltotal 12drwxr-xr-x 5 mysql mysql 4096 Jul 2 09:26 datadrwxr-xr-x 2 mysql mysql 4096 Jul 1 18:21 logdrwxr-xr-x 2 mysql mysql 4096 Jul 2 09:26 tmp[root@lx25 mysql]# cd data[root@lx25 data]# ls -ltotal 6314044drwx------ 2 mysql mysql 4096 Jul 1 17:17 mysqldrwx------ 2 mysql mysql 4096 Jul 1 17:17 performance_schemadrwx------ 2 mysql mysql 4096 Jul 1 17:17 test
        把該目錄用tar打包(命名為data.tar),然后以這個為模板解壓至新裝MySQL實例的數(shù)據(jù)目錄下即可。

        4、編寫自動化安裝部署腳本

        在運行這個腳本之前,我們必須得把前面幾部制作的rpm包、my.cnf模板和數(shù)據(jù)目錄模板放到一個固定的地方,本例中是放在企業(yè)內(nèi)部的ftp上。MySQL自動化安裝部署腳本(命名為:mysql_install.sh)如下:
        #!/bin/sh#Step 1: Prepareyum install cmake gcc g++ bison ncurses-devel zlib groupadd mysqluseradd -g mysql mysql#Step 2: Get Sourceftp -n<> my.cnfrpm -ivh mysql-5.6.16-guahao.x86_64.rpmcp my.cnf /opt/mysqlchown -R mysql:mysql /opt/mysqltar xvf data.tar -C /datachown -R mysql:mysql /data/mysql#step 4: Start MySQLcp /opt/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqldchmod 755 /etc/init.d/mysqldchkconfig mysqld on/etc/init.d/mysqld start

        bitsCN.com

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        [MySQL]MySQL的自動化安裝部署_MySQL

        [MySQL]MySQL的自動化安裝部署_MySQL:bitsCN.com 有過MySQL運維的人應(yīng)該都清楚,線上的MySQL一般都采用源碼編譯,因為這樣才可以根據(jù)企業(yè)的各自需要選擇要編譯的功能,雖然MySQL的源碼編譯挺簡單的,但是試想一下,如果你有幾百臺服務(wù)器同時要安裝MySQL,難道你還一臺臺去手動編譯、編寫配置文件
        推薦度:
        標簽: 安裝 自動化 配置
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产精品免费播放| 久久国产乱子伦精品免费午夜| 久久夜色精品国产噜噜亚洲AV| 99亚洲精品高清一二区| 18禁超污无遮挡无码免费网站 | 亚洲国产精品无码观看久久| 黄页网址大全免费观看12网站| 国产99精品一区二区三区免费 | 亚洲黄片毛片在线观看| 久久噜噜噜久久亚洲va久| 亚洲AV无码一区二区三区在线| www成人免费观看网站| 无码国产精品一区二区免费式直播| 国产男女猛烈无遮档免费视频网站| 成人婷婷网色偷偷亚洲男人的天堂 | 亚洲免费人成视频观看| 免费在线观看一级毛片| 亚洲国产一区在线观看| 国产性生大片免费观看性| 老司机永久免费网站在线观看| 亚洲视频一区调教| 国产免费播放一区二区| 国产亚洲高清不卡在线观看| 亚洲国产综合AV在线观看| 国产一区二区三区免费在线观看| 亚洲乱码一二三四区麻豆| 性色av免费观看| 亚洲欧洲日产专区| 18禁超污无遮挡无码免费网站| 亚洲精品在线视频观看| 无码一区二区三区免费| 亚洲精品乱码久久久久久不卡| a级特黄毛片免费观看| 亚洲精品国产福利一二区| 久操视频在线免费观看| 亚洲精品成人片在线播放 | 亚洲国产精品久久久久婷婷软件| 无码中文在线二区免费| 亚洲日韩中文字幕天堂不卡| 最近2019中文字幕mv免费看| 亚洲成A人片在线播放器|