MSQL-51CTOノート

まず、本番環境を準備

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.634 -linux-glibc2では。5 - x86_64.tar.gz 
             [ルート@ localhostのホーム]#mvのmysqlの - 5.634 -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_pa​​cket = 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、初期化が成功と見なされるテスト・ディレクトリを含む場合

おすすめ

転載: www.cnblogs.com/jiejunwang/p/12170816.html