首页 > 代码库 > Linux 下没有 my.cnf 文件的解决方式,完全是我自己整的,好多教程都是瞎扯的

Linux 下没有 my.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 = 4000M
innodb_additional_mem_pool_size=60M
innodb_data_home_dir=
innodb_date_file_path=ibdata1:20M:autoextend
innodb_log_group_home_dir=/var/log/innodb_log
innodb_log_files_in_group=2
innodb_log_file_size=30M
innodb_log_buffer_size=3M
innodb_doublewrite=ON
innodb_open_file=2000
innodb_file_per_table=ON
innodb_max_dirty_page_pct=50
back_log=80
interactive_timeout=3600
key_buffer_size=10M
max_allow_packet=40440
max_connections=1000
max_tmp_tables=60
query_cache_size=10M
sor_buffer_size=10M
table_open_cache=2000

# Remove leading 
# to turn on a very important data integrity option: logging
# changes to the binary log between backups.
#lob_bin
log_bin=ON
log_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 = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8
#init_connect='SET NAMES utf8'
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#general_log
general_log=ON
general_log_file=/var/lib/mysql/localhost.log
#slow_query_log
slow_query_log=ON
slow_query_log_file=/var/lib/mysql/localhost-slow.log
slow_launch_time=2

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-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 下没有 my.cnf 文件的解决方式,完全是我自己整的,好多教程都是瞎扯的