# vim /etc/my.cnf [client] port = 3306 //客戶端所連接的端口號 socket = /tmp/mysql.sock //客戶端所連接的sock文件存放位置 [mysqld] #base port = 3306 //mysql的默認端口號,可以修改 user = mysql //mysql用戶指定 socket = /tmp/mysql.sock //連接所使用的端口號 pid-file = /tmp/mysql.pid //進程運行的主PID文件 basedir = /usr/local/mysql //Mysql安裝目錄 datadir = /data/mysqldb //Mysql數據目錄 tmpdir = /opt/mysqltmp //Mysql臨時表目錄 open_files_limit = 10240 //打開文件句柄的數量 explicit_defaults_for_timestamp sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES federated //支持sql語法和數據校驗等.sql_mode三種模式 ANSI模式、寬松模式,對插入數據進行校驗,如果不符合定義類型或長度,對數據類型調整或者截斷保存,報“warning”警告 TRADITIONAL模式、嚴格模式,當向mysql數據插入數據時、進行數據的嚴格校驗,保證數據不能插入,報error錯誤,用於事物時,會進行事物回滾. STRICT_TRANS_TABLES模式。嚴格模式,進行數據的嚴格校驗,錯誤數據不能插入,報error錯誤. server_id = 706 //主從復制唯一的服務辨識號,數值位於 1 到 #replicate-do-db = posp //定義唯一復制的庫 #replicate-ignore-db = mysql //定義唯一復制的庫 #log-slave-updates = 1 //這個選項之再主從復制。從服務器上打開復制主的信息 event_scheduler=1 //打開時間調度器 max_connections = 2000 //#最大並發連接數 ,增大該值需要相應增加允許打開的文件描述符數 max_connect_errors = 10000 //如果某個用戶發起的連接error超過該數值,則該用戶的下次連接將被阻塞, interactive_timeout = 600 //服務器關閉交互連接前等待活動的秒數 wait_timeout = 600 //服務器關閉非交互連接之前等待活動的秒數 skip-name-resolve //#garnt時,必須使用ip,不能使用主機名,禁用DNS解析 sync_binlog=0 //可以保證事務的安全。缺省為0 log_bin_trust_function_creators = 1 //打開mysql可自定義函數 character-set-server = utf8 //設定字符集 default_storage_engine = InnoDB //定義默認引擎 #log log-bin = /data/mysqldb/binlog/mysql-bin //指定binlog二進制日志的文件名稱 binlog_cache_size = 32m //binlog的緩存大小 max_binlog_cache_size = 10g //設定最大的binlog緩存 binlog_stmt_cache_size = 32m //設定最小的binlo緩存 table_open_cache = 2048 //表描述符緩存大小,可減少文件打開/關閉次數 max_binlog_size = 1024m //設置binlog日志文件最大為1G binlog_format = mixed //binlog日志格式. log_output = FILE //確認輸出到日志文件 log-error = /data/mysqldb/log/mysql-error.log //mysql系統錯誤日志輸出 slow_query_log = 1 //打開慢日志記錄 slow_query_log_file = /data/mysqldb/log/mysql-slow_query.log //定義慢日志輸出的路徑 general_log = 0 //定義普通日志 general_log_file = /data/mysqldb/log/mysql-general-query.log //定義普通日志輸出的路徑 expire-logs-days = 30 //日志保留的時間為30天 relay-log = /data/mysqldb/binlog/relay-bin //定義reloa_log復制的地址 relay-log-index= /data/mysqldb/binlog/relay-bin.index //定義reloa_log索引 #buffer sort_buffer_size = 2m //#MyISAM表發生變化時重新排序所需的緩沖。一般64M足矣 read_buffer_size = 2m //用來做MyISAM表全表掃描的緩沖大小. read_rnd_buffer_size = 2m //#當在排序之后,從一個已經排序好的序列中讀取行時,行數據將從這個緩沖中讀取來防止磁盤尋道 join_buffer_size = 2m //# InnoDB用來緩存數據和 net_buffer_length = 16k //執行mysqldump時,net buffer length的最大上限是16Mb,默認值是1Mb max_allowed_packet = 512m //每個連接獨立的大小.大小動態增加 bulk_insert_buffer_size = 32m //# 當突發插入被檢測到時此緩沖將被分配用於myisam max_heap_table_size = 512m//#內存表的大小 tmp_table_size = 512m//# 內部(內存中)臨時表的最大大小 thread_cache_size = 100 //#緩存可重用的線程數,可以適當的調整 query_cache_size = 256m //#指定MySQL查詢結果緩沖區的大小。調優可以適當調整 query_cache_limit = 10m //#緩存單條SQL的結果集上限。默認4KB。調優可以適當調整 query_cache_min_res_unit = 4k key_buffer_size = 16m //#關鍵詞緩沖的大小, 一般用來緩沖MyISAM表的索引塊 myisam_sort_buffer_size = 64m //# 這在每個線程中被分配.所以在設置大值時需要小心 myisam_max_sort_file_size = 10g //MySQL重建索引時所允許的最大臨時文件的大小如果文件大小比此值更大,索引會通過鍵值緩沖創建(更慢) myisam_repair_threads = 1 //#如果一個表擁有超過一個索引, MyISAM #innodb innodb_file_per_table = 1 #//#可以修改InnoDB為獨立表空間模式,每個數據庫的每個表都會生成一個數據空間 innodb_data_file_path = ibdata1:2048M:autoextend //#如果你只有單個邏輯驅動保存你的數據,一個單個的自增文件就足夠好了 innodb_log_file_size = 128m //#在日志組中每個日志文件的大小, innodb_log_files_in_group = 3 //# 在日志組中的文件總數. 通常來說2~3是比較好的 innodb_buffer_pool_size = 1g //innodb緩存池大小 innodb_buffer_pool_instances = -1 innodb_max_dirty_pages_pct = 70 //#在InnoDB緩沖池中最大允許的臟頁面的比例. 60-90都可以 #innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_buffer_size = 16m # 用來緩沖日志數據的緩沖區的大小. 當此值快滿時, InnoDB將必須刷新數據到磁盤上 innodb_flush_log_at_trx_commit = 2 0代表日志只大約每秒寫入日志文件並且日志文件刷新到磁盤# 2代表日志寫入日志文件在每次提交后,但是日志文件只有大約每秒才會刷新到磁盤上 [mysql] no-auto-rehash #可以在命令可以使用tab鍵補齊 prompt = (\u@\h) [\d]\_ #在Mysql命令顯示主機名字 default-character-set = utf8 //設定字符集合
*注意 在企業里面沒有現成my.cnf 如果編譯安裝后,沒有在/etc/找到my.cnf 那么請到原始的編譯目錄,也就是解壓包的目錄里面找到 support-files這個目錄,將my-medium.cnf 拷貝到/etc/my.cnf # cd mysql-5.6.31 #cp support-files/my-medium.cnf /etc/my.cnf