1. 程式人生 > >mysql啟動錯誤之eror: Found option without preceding group in config file: /Users/gukey/.my.cnf at line: 1

mysql啟動錯誤之eror: Found option without preceding group in config file: /Users/gukey/.my.cnf at line: 1

Mac Os下啟動mysql5.6時,出現如下錯誤:

eror: Found option without preceding group in config file: /Users/gukey/.my.cnf at line: 1

解決方法:

mysql的配置檔案.my.cnf引數格式有問題,修改之後即可。

mysql配置檔案.my.cnf的引數內容可以參考:http://database.51cto.com/art/201108/285365.htm

如下:

[client]  
port = 3309 
socket = /home/mysql/mysql/tmp/mysql.sock  
[mysqld]  
!include /home/mysql/mysql/etc/mysqld.cnf #包含的配置檔案 ,把使用者名稱,密碼檔案單獨存放  
port = 3309 
socket = /home/mysql/mysql/tmp/mysql.sock  
pid-file = /longxibendi/mysql/mysql/var/mysql.pid  
basedir = /home/mysql/mysql/  
datadir = /longxibendi/mysql/mysql/var/  
# tmp dir settings  
tmpdir = /home/mysql/mysql/tmp/  
slave-load-tmpdir = /home/mysql/mysql/tmp/  
#當slave 執行 load data infile 時用  
#language = /home/mysql/mysql/share/mysql/english/  
character-sets-dir = /home/mysql/mysql/share/mysql/charsets/  
# skip options  
skip-name-resolve #grant 時,必須使用ip不能使用主機名  
skip-symbolic-links #不能使用連線檔案  
skip-external-locking #不使用系統鎖定,要使用myisamchk,必須關閉伺服器  
skip-slave-start #啟動mysql,不啟動複製  
#sysdate-is-now  
# res settings  
back_log = 50 #接受佇列,對於沒建立tcp連線的請求佇列放入快取中,佇列大小為back_log,受限制與OS引數  
max_connections = 1000 #最大併發連線數 ,增大該值需要相應增加允許開啟的檔案描述符數  
max_connect_errors = 10000 #如果某個使用者發起的連線error超過該數值,則該使用者的下次連線將被阻塞,直到管理員執行flush hosts ; 命令;防止黑客  
#open_files_limit = 10240 
connect-timeout = 10 #連線超時之前的最大秒數,在Linux平臺上,該超時也用作等待伺服器首次迴應的時間  
wait-timeout = 28800 #等待關閉連線的時間  
interactive-timeout = 28800 #關閉連線之前,允許interactive_timeout(取代了wait_timeout)秒的不活動時間。客戶端的會話wait_timeout變數被設為會話interactive_timeout變數的值。  
slave-net-timeout = 600 #從伺服器也能夠處理網路連線中斷。但是,只有從伺服器超過slave_net_timeout秒沒有從主伺服器收到資料才通知網路中斷  
net_read_timeout = 30 #從伺服器讀取資訊的超時  
net_write_timeout = 60 #從伺服器寫入資訊的超時  
net_retry_count = 10 #如果某個通訊埠的讀操作中斷了,在放棄前重試多次  
net_buffer_length = 16384 #包訊息緩衝區初始化為net_buffer_length位元組,但需要時可以增長到max_allowed_packet位元組  
max_allowed_packet = 64M #  
#table_cache = 512 #所有執行緒開啟的表的數目。增大該值可以增加mysqld需要的檔案描述符的數量  
thread_stack = 192K #每個執行緒的堆疊大小  
thread_cache_size = 20 #執行緒快取  
thread_concurrency = 8 #同時執行的執行緒的資料 此處最好為CPU個數兩倍。本機配置為CPU的個數  
# qcache settings  
query_cache_size = 256M #查詢快取大小  
query_cache_limit = 2M #不快取查詢大於該值的結果  
query_cache_min_res_unit = 2K #查詢快取分配的最小塊大小  
# default settings  
# time zone  
default-time-zone = system #伺服器時區  
character-set-server = utf8 #server級別字符集  
default-storage-engine = InnoDB #預設儲存  
# tmp & heap  
tmp_table_size = 512M #臨時表大小,如果超過該值,則結果放到磁碟中  
max_heap_table_size = 512M #該變數設定MEMORY (HEAP)表可以增長到的最大空間大小  
log-bin = mysql-bin #這些路徑相對於datadir  
log-bin-index = mysql-bin.index  
relayrelay-log = relay-log  
relayrelay_log_index = relay-log.index  
# warning & error log  
log-warnings = 1 
log-error = /home/mysql/mysql/log/mysql.err  
log_output = FILE #引數log_output指定了慢查詢輸出的格式,預設為FILE,你可以將它設為TABLE,然後就可以查詢mysql架構下的slow_log表了  
# slow query log  
slow_query_log = 1 
long-query-time = 1 #慢查詢時間 超過1秒則為慢查詢  
slow_query_log_file = /home/mysql/mysql/log/slow.log  
#log-queries-not-using-indexes  
#log-slow-slave-statements  
general_log = 1 
general_log_file = /home/mysql/mysql/log/mysql.log  
max_binlog_size = 1G 
max_relay_log_size = 1G 
# if use auto-ex, set to 0  
relay-log-purge = 1 #當不用中繼日誌時,刪除他們。這個操作有SQL執行緒完成  
# max binlog keeps days  
expire_logs_days = 30 #超過30天的binlog刪除  
binlog_cache_size = 1M #session級別  
# replication  
replicate-wild-ignore-table = mysql.% #複製時忽略資料庫及表  
replicate-wild-ignore-table = test.% #複製時忽略資料庫及表  
# slave_skip_errors=all 
key_buffer_size = 256M #myisam索引buffer,只有key沒有data  
sort_buffer_size = 2M #排序buffer大小;執行緒級別  
read_buffer_size = 2M #以全表掃描(Sequential Scan)方式掃描資料的buffer大小 ;執行緒級別  
join_buffer_size = 8M # join buffer 大小;執行緒級別  
read_rnd_buffer_size = 8M #MyISAM以索引掃描(Random Scan)方式掃描資料的buffer大小 ;執行緒級別  
bulk_insert_buffer_size = 64M #MyISAM 用在塊插入優化中的樹緩衝區的大小。註釋:這是一個per thread的限制  
myisam_sort_buffer_size = 64M #MyISAM 設定恢復表之時使用的緩衝區的尺寸,當在REPAIR TABLE或用CREATE INDEX建立索引或ALTER TABLE過程中排序 MyISAM索引分配的緩衝區  
myisam_max_sort_file_size = 10G #MyISAM 如果臨時檔案會變得超過索引,不要使用快速排序索引方法來建立一個索引。註釋:這個引數以位元組的形式給出.重建MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA INFILE過程中)時,允許MySQL使用的臨時檔案的最大空間大小。如果檔案的大小超過該值,則使用鍵值快取建立索引,要慢得多。該值的單位為位元組  
myisam_repair_threads = 1 #如果該值大於1,在Repair by sorting過程中並行建立MyISAM表索引(每個索引在自己的執行緒內)  
myisam_recover = 64K#允許的GROUP_CONCAT()函式結果的最大長度  
transaction_isolation = REPEATABLE-READ  
innodb_file_per_table  
#innodb_status_file = 1 
#innodb_open_files = 2048 
innodb_additional_mem_pool_size = 100M #幀快取的控制物件需要從此處申請快取,所以該值與innodb_buffer_pool對應  
innodb_buffer_pool_size = 2G #包括資料頁、索引頁、插入快取、鎖資訊、自適應雜湊所以、資料字典資訊  
innodb_data_home_dir = /longxibendi/mysql/mysql/var/  
#innodb_data_file_path = ibdata1:1G:autoextend  
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend #表空間  
innodb_file_io_threads = 4 #io執行緒數  
innodb_thread_concurrency = 16 #InnoDB試著在InnoDB內保持作業系統執行緒的數量少於或等於這個引數給出的限制  
innodb_flush_log_at_trx_commit = 1 #每次commit 日誌快取中的資料刷到磁碟中  
innodb_log_buffer_size = 8M #事物日誌快取  
innodb_log_file_size = 500M #事物日誌大小  
#innodb_log_file_size =100M 
innodb_log_files_in_group = 2 #兩組事物日誌  
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日誌組  
innodb_max_dirty_pages_pct = 90 #innodb主執行緒重新整理快取池中的資料,使髒資料比例小於90%  
innodb_lock_wait_timeout = 50 #InnoDB事務在被回滾之前可以等待一個鎖定的超時秒數。InnoDB在它自己的 鎖定表中自動檢測事務死鎖並且回滾事務。InnoDB用LOCK TABLES語句注意到鎖定設定。預設值是50秒  
#innodb_flush_method = O_DSYNC 
[mysqldump]  
quick  
max_allowed_packet = 64M 
[mysql]  
disable-auto-rehash #允許通過TAB鍵提示  
default-character-set = utf8 
connect-timeout = 3 

Mac OS X 系統安裝的mysql預設是不用my.cnf配置檔案的,僅是使用預設的資料庫配置值。

如要進行資料庫定製,可到'/usr/local/mysql/support-files/'資料夾底下,把裡面的任一個.cnf配置檔案複製到/etc/目錄底下並修改檔名稱為my.cnf。

不過MAC OS X 系統的mysql確實不需要my.cnf來進行配置就已經足夠可以使你滿意運行了。