Linux 没有 my.cnf 解决方案文件完全我自己的整个教程很多口才

时间:2020-12-19 14:46:49

我看过好多关于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 错误的问题,依据你server的详细情况详细分析,我的是以我配置的为基准的



配置完之后,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)

须要开启的能够自己设置,希望能够帮到大家,少走歪路!