Linux 下沒有 my.cnf 檔案的解決方式,完全是我自己整的,好多教程都是瞎扯的,linuxmy.cnf
我看過好多關於Linux下沒有my.cnf的部落格,都是什麼rmp安裝沒有my.cnf檔案啊,然後什麼兩個方法啊,我就無語了,大家要是知道就不會查資料了,你們敢不敢負責點?說詳細點?有的說從 /usr/share/mysql 裡複製一個.cnf檔案到 /etc 下,有用嗎?設定檔資料不給別人,複製個毛線?複製誰都會!
my.cnf 設定檔:
# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the# *** default location during install, and will be replaced if you# *** upgrade to a newer version of MySQL.[mysqld]#innodb# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.innodb_buffer_pool_size = 4000Minnodb_additional_mem_pool_size=60Minnodb_data_home_dir=innodb_date_file_path=ibdata1:20M:autoextendinnodb_log_group_home_dir=/var/log/innodb_loginnodb_log_files_in_group=2innodb_log_file_size=30Minnodb_log_buffer_size=3Minnodb_doublewrite=ONinnodb_open_file=2000innodb_file_per_table=ONinnodb_max_dirty_page_pct=50back_log=80interactive_timeout=3600key_buffer_size=10Mmax_allow_packet=40440max_connections=1000max_tmp_tables=60query_cache_size=10Msor_buffer_size=10Mtable_open_cache=2000# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.#lob_binlog_bin=ONlog_bin_basename=/var/lib/mysql/mysqld-bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.join_buffer_size = 128Msort_buffer_size = 2Mread_rnd_buffer_size = 2Mdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockcharacter_set_server=utf8#init_connect='SET NAMES utf8'# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Recommended in standard MySQL setupsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#general_loggeneral_log=ONgeneral_log_file=/var/lib/mysql/localhost.log#slow_query_logslow_query_log=ONslow_query_log_file=/var/lib/mysql/localhost-slow.logslow_launch_time=2[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
如果上述檔案配置好後,執行mysql登入,拋出xxxx.line 這樣的異常,就去
/usr/share/mysql 下面複製一個.cnf檔案的頭部替換掉上述my.cnf的頭部代碼,前提是要copy一個到/etc下,命名my.cnf,再把上面的copy,版本資訊和一些詳細檔案的
具體路徑配置,和參數配置看你自己的安裝情況
我替換的是/usr/share/mysql/my-default.cnf 標頭檔的這幾句:
# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the# *** default location during install, and will be replaced if you# *** upgrade to a newer version of MySQL.[mysqld]
然後[mysqlld]以下的全部是copy上面的,從上面設定檔的第7行的#號開始,可以解決類似
Fatal error in defaults handling. Program aborted 或者xxxx line xxxx 錯誤的問題,根據你伺服器的具體情況具體分析,我的是以我配置的為基準的
配置完之後,mysql可以正常登入,查看和開機記錄:
mysql> show variables like 'log_%';+----------------------------------------+------------------------------------+| Variable_name | Value |+----------------------------------------+------------------------------------+| log_bin | OFF || log_bin_basename | || log_bin_index | || log_bin_trust_function_creators | OFF || log_bin_use_v1_row_events | OFF || log_error | /var/lib/mysql/AY140615022008Z.err || log_output | FILE || log_queries_not_using_indexes | OFF || log_slave_updates | OFF || log_throttle_queries_not_using_indexes | 0 || log_warnings | 1 |+----------------------------------------+------------------------------------+11 rows in set (0.01 sec)mysql> show variables like 'log_bin';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | OFF |+---------------+-------+1 row in set (0.00 sec)
mysql> select version();+-----------+| version() |+-----------+| 5.6.10 |+-----------+1 row in set (0.02 sec)
需要開啟的可以自己設定,希望可以幫到大家,少走歪路!
linux簡單問題
七、更改MySQL目錄
MySQL預設的資料檔案儲存目錄為/var/lib/mysql。假如要把目錄移到/home/data下需要進行下面幾步:
1、home目錄下建立data目錄
cd /home
mkdir data
2、把MySQL服務進程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個目錄移到/home/data
mv /var/lib/mysql /home/data/
這樣就把MySQL的資料檔案移動到了/home/data/mysql下
4、找到my.cnf設定檔
如果/etc/目錄下沒有my.cnf設定檔,請到/usr/share/mysql/下找到*.cnf檔案,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、編輯MySQL的設定檔/etc/my.cnf
為保證MySQL能夠正常工作,需要指明mysql.sock檔案的產生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具編輯my.cnf檔案,找到下列資料修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用“#”注釋此行)
socket = /home/data/mysql/mysql.sock (加上此行)
linux 下mycnf 檔案中,userstat = 1 這個參數是幹什用的?
使用者狀態.....