まず、本番環境を準備
1、ネットワーク環境
CentOS7: ファイアウォールを一時的に閉鎖します。[root @ localhostのホーム]#の systemctlストップがfirewalld 甲斐からファイアウォールのブートオフ:[ルートを@ localhostのホーム]#systemctl無効firewalld SELinuxを一時的に閉鎖します。[root @ localhostのホーム]#のsetenforceが0 にSELinuxが永久的に閉じ:[ホーム@ルートをlocalhostの]#sedの -i 'S / SELINUX = * / SELINUX =無効/ G 'の/ etc /のsysconfig / SELinuxの CentOs6は: ファイアウォールを一時的オフにします。[root @ localhostのホーム]#のサービスが停止iptablesの 甲斐からファイアウォールのブートオフ:[ホームルート@ localhostの]#オフのchkconfigをiptablesの SELinuxは一時的に閉鎖:[ホームlocalhostの@ルート]#setenforce 0 SELinuxが永久に閉じ:[ホームlocalhostの@ルート]#sedの -i " 。S / SELinuxは= * / = SELINUXをdisbales / G "の/ etc /のsysconfig / SELinuxの
(ディスクの読み取りおよび書き込みIOの効率のために)2、CPU IOスケジューリングモデル
IOモデルモードの説明参照:https://www.cnblogs.com/cobbliu/p/5389556.html
IOスケジューラ:(機械ディスクセットが推奨されています:期限、SSDを推奨NOOP)
:現在のスケジューリングモードIO見る [ホームルート@ localhostの]#のCAT / SYS /ブロック/ SDA /キュー/ スケジューラが 配置されたIOスケジューリングモード: Centos7: [ホームルート@ localhostの]#汚い --update-カーネル=をALL = --args " エレベーター= DEADLINE "
3、SWAP設定
見る現在の分配比 [localhostのホーム@ルート] #catに/ proc / sys / vm / swappinessを 比例使って修正優先 現在は修正:[localhostのホーム@ルート]#エコー10 >に/ proc / sys / vm / swappinessを [ルート:通話を切り替えますホーム@localhost]#エコー -e " エコー10>に/ proc / sys / vm / swappinessを" >> /etc/rc.d/rc.localの
4、ファイルシステムの設定
MySQLはB +ツリー構造であり、XFSは、より良好なMySQLで組み合わせ、ストレージフォーマットであり、ファイルシステムタイプがより安定です。
Cenos7のデフォルトのファイルシステム:XFS Centos6デフォルトのファイルシステムはext4。
セットCentos6 XFSファイルシステム
。1、[ルート@ localhostのホーム]#yumをインストールxfsprogsが-Yのxfsdump
2、ファイルシステムフォーマットをします。[root @ localhostのホーム]# mkfs.xfsは/ dev / sdbと
図5に示すように、システム・パラメータ
我々は、Linuxの自体は、システムのクラッシュ原因あまりにも多くの並行プロセスを防ぐために、パラメータに制限されているが、同時に読み取るアプリケーションにサービスを提供するので、MySQLの生産への接続がたくさんあるでしょうし、ファイルデータ自体をMYSQL直接変更することができます
1、ビュー:ulimitの- A 1 ハンドル開いているファイル:開いているファイル(あまりにも多くの開いているファイルのエラーを防止するために) 2 。加入者数の制限のために:最大ユーザ・プロセス(単一のマルチインスタンス、新しい接続を拒否し、あまりにも多くの接続を防ぐために) 2 、変更: [ルート@ localhostのホーム]#エコー -e " *ソフトNPROC 65535 \ *ハードNPROCのn-65535 \ N- NOFILEのn-ソフト* \ *ハードNOFILEのn-65535 \ 65535 " >> /etc/security/limits.confを
二、mysql5.6インストール
1 、準備するための環境 ディレクトリを作成します。 [ホームルート@ localhostの]#ます。mkdir -pデータ/ {MySQLの、ソフトウェア} [ホームルート@ localhostの]#ます。mkdir -pデータ/ MySQLの/ {データ、TMP、ログ} 2で作成しました。ユーザー: [ホームルート@ localhostの]#useraddのMySQLの。3 。インストールの依存関係: [ホームルート@ localhostの]#yumをインストールしたPerl Perlの -develのPerl-のlibaioデータ-Dumperに-develの- Y 。3 、インストール 1件の。ダウンロードパッケージファイル [ルートホーム@localhost]#のCD /データ/ソフトウェア [ルート@ localhostのホーム]#wgetのHTTPS:// cdn.mysql.com/archives/mysql-5.6/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz [ルート@ localhostのホーム]#タール-zxvfはmysql- 5.6。34 -linux-glibc2では。5 - x86_64.tar.gz [ルート@ localhostのホーム]#mvのmysqlの - 5.6。34 -linux-glibc2では。5 -x86_64は/ usr / local / mysqlの
2权限赋值:
[ルート@ localhostのホーム]# chownコマンド-R mysqlの:mysqlのは/ usr / local / mysqlの/データ/ mysqlの/ *
三、my.cnfの設定ファイル
[クライアント] ポート = 3306 ソケット = /データ/ MySQLの/ TMP / にmysql.sock [MySQLの] プロンプト = " \ U @ DB \ R:\ M:\ S [\ D]> " いいえ -auto- 焼き直し [mysqldを] ユーザー = mysqlの ポート = 3306 BASEDIR =は/ usr / local / mysqlの DATADIR = /データ/ mysqlの/ データ ソケット = /データ/ mysqlのを/ tmp / にmysql.sock PID -file = /データ/ mysqlのを/ tmp / mysql.pid 文字 - セット -server = UTF8 照合-server = utf8_general_ci #skip -character- セット -client-ハンドシェーク= 真 #init_connect = ' 今auditlog.accesslogへの挿入(ConnectionID、ConnUserName、PrivMatchName、LoginTime)値(CONNECTION_ID()、ユーザー()、CURRENT_USER()、( )); ' skip_name_resolve = 1 event_scheduler = で sql_modeの = ' NO_UNSIGNED_SUBTRACTION、NO_ENGINE_SUBSTITUTION ' open_files_limit = 65535 innodb_open_files = 65535 back_log = 1024 MAX_CONNECTIONS = 512 max_connect_errors = 1000000 は、interactive_timeout = 300 WAIT_TIMEOUT = 300 のmax_allowed_packet = 1024M table_open_cacheの = 2048 table_definition_cache = 2048 table_open_cache_instances = 32 thread_cache_size = 128 thread_stack = 512K 外部 -locking = FALSE max_tmp_tables = 200 tmp_table_size = 100M max_heap_table_size = 100G explicit_defaults_for_timestamp = 1 lock_wait_timeout = 3600 auto_increment_increment = 1 auto_increment_offset = 1 自動コミット = ON secure_file_priv = '' READ_ONLY = OFF はlower_case_table_names = 1 innodb_fast_shutdown = 0 innodb_force_recovery = 0 innodb_buffer_pool_dump_at_shutdown = 1 innodb_buffer_pool_load_at_startup = 1つの ログ -error = /データ/ MySQLの/ログ/Error.logです slow_query_log INNODB= ON slow_query_log_file = /データ/ MySQLの/ログ/ slow_mysql.log long_query_time = 2 innodb_flush_log_at_trx_commit = 1 innodb_log_file_size = 1G innodb_log_files_in_group = 3 innodb_log_group_home_dir =。/ sync_binlog = 1 binlog_cache_size = 16M max_binlog_cache_size = 1G max_binlog_size = 1G expire_logs_days = 30 デフォルト -storageエンジン= #internal_tmp_disk_storage_engine = INNODB TRANSACTION_ISOLATION = REPEATABLE- READ innodb_max_dirty_pages_pct = 50 innodb_adaptive_flushing = ON innodb_flush_method = O_DIRECT sort_buffer_size = 8M join_buffer_size = 8M query_cache_size = 0 query_cache_type = 0 read_buffer_size = 8M optimizer_switch = " index_condition_pushdown =オン、MRR = batched_key_accessオフ=、上= mrr_cost_based、オン、block_nested_loop =に" read_rnd_buffer_size = ibdata1と:1024M:AUTOEXTEND 8M innodb_old_blocks_pct = 35 #innodb_additional_mem_pool_size = 128M innodb_buffer_pool_size = 1G innodb_buffer_pool_instances = 16 innodb_log_buffer_size = 32M bulk_insert_buffer_size = 128M innodb_change_buffer_max_size = 50 innodb_doublewrite = オン innodb_adaptive_hash_index = で innodb_file_per_tableを = 1 innodb_data_file_path = innodb_page_size = 16K #innodb_checksum_algorithm = CRC32 innodb_lock_wait_timeout = 35 innodb_rollback_on_timeout = オン innodb_sync_spin_loops = 100 innodb_spin_wait_delay = 30 innodb_lru_scan_depth = 4000 innodb_thread_concurrency = 0 innodb_write_io_threads = 2 innodb_read_io_threads = 2 innodb_purge_threads = 2 innodb_io_capacity = 800 innodb_io_capacity_max = 1600 サーバ -id = 3306110 ログ -bin = /データ/ MySQLの/ログ/ binlog- のMySQL binlog_format =行
第四に、MySQLの初期化
1 Viewが助けを借りて初期化:は/ usr / local / MySQLの/スクリプト/ mysql_install_dbに- ヘルプ 2を初期化する現在のMySQLの:.は/ usr / local / mysqlの/スクリプト/ mysql_install_dbに--basedir =は/ usr / local / mysqlの--datadir = /データ/ MySQLの/データファイル=の/ etc / my.cnfの--user = --defaults MySQLの 3を初期化が完了すると、パスワードを変更するよう求められます:は/ usr / local / MySQLの/ binに/ mysqladminの-u rootパスワードを" 123456 ' 4は、データベースファイルの初期化確認:. LS /データ/ MySQLの/データ/ MySQLの、INFORMATION_SCHEMA、初期化が成功と見なされるテスト・ディレクトリを含む場合