国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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

來源:懂視網 責編:小采 時間:2020-11-09 19:59:37
文檔

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

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

bitsCN.com

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

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

我們要根據MySQL的源碼編譯符合企業需求的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
在上面我們獲取了源碼,并在源碼主目錄下創建rpm目錄,接著我們在該目錄下創建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文件之后,就可以執行如下命令生成我們自己的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
細心的讀者應該會注意在,在my.cnf的末尾在server id上留了空白,在后面的shell腳本會動態加上,這是因為在一個企業內部的所有MySQL的server id必須保持全局一致性,這樣在主備復制時才不會導致混亂。其實如果想把這個腳本寫的更通用,完全可以把更多的參數留白,如port、datadir、內存相關參數等,這里我只是以server id為例,拋磚引玉。

3、準備MySQL數據目錄模板

你得事先準備一臺MySQL,可以根據自己的需求,把通用性的東西放在上面(如賬戶等),下面是一個最簡單的已安裝好的MySQL的數據目錄結構:
[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實例的數據目錄下即可。

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

在運行這個腳本之前,我們必須得把前面幾部制作的rpm包、my.cnf模板和數據目錄模板放到一個固定的地方,本例中是放在企業內部的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

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

文檔

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

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美一区不卡二区不卡三区 | 毛片资源 | 欧美日本一道本 | 欧美日韩一区二区在线 | 欧美1页 | 一区在线观看 | 欧美性野久久久久久久久 | 欧美性xxxxx极品老少 | 日韩欧美偷拍 | 制服丝袜中文字幕在线 | 日韩在线视频播放 | 国产码欧美日韩高清综合一区 | 欧美日韩欧美 | 欧美国产日韩在线播放 | 国产一二三区在线观看 | 精品视频一区二区 | 91一区二区三区四区五区 | 欧美第四页 | 欧美一区二区三区在线播放 | 精品91精品91精品国产片 | 国产精品麻豆视频 | 日本成人久久 | 日韩一区二区三区在线 | 韩国理论三级在线观看视频 | 91精品国产综合久 | 欧美日韩国产综合视频在线看 | 亚洲逼院 | 国产成人在线免费视频 | 人人草视频在线观看 | 亚洲 欧美 综合 | 久久亚洲私人国产精品va | 91亚洲 欧美 国产 制服 动漫 | 91视频一区二区三区 | 120秒免费试看 | 亚洲一区中文字幕 | 国产精品一区在线观看 | 成人国产一区二区三区精品 | 国产激情一区二区三区 | 日韩一级精品久久久久 | 一级免费毛片 | 欧美日韩另类综合 |