Jes*_*sen 6 mysql configuration
为了重新安装我的MySQL数据库,我删除了/etc/my.cnf
但是MySQL的默认设置是什么?我如何查看正在使用的配置文件?
我可以看到,它mysql --help
给了我一个当前设置的列表.但我真正的问题是我想修改local-infile
和max_allowed_packet
.
帮助文本还指出它从以下文件中读取:/etc/my.cnf /etc/mysql/my.cnf /opt/local/etc/mysql5/my.cnf ~/.my.cnf
.但它们都不存在:
> cat /etc/my.cnf /etc/mysql/my.cnf /opt/local/etc/mysql5/my.cnf ~/.my.cnf
cat: /etc/my.cnf: No such file or directory
cat: /etc/mysql/my.cnf: No such file or directory
cat: /opt/local/etc/mysql5/my.cnf: No such file or directory
cat: /Users/jesper/.my.cnf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我可以创建仅包含这些设置的新配置文件吗?最具体的是:如何查看正在使用的配置文件?
这是输出 mysql --help
> mysql --help
mysql Ver 14.14 Distrib 5.1.40, for apple-darwin10.0.0 (i386) using readline 6.0
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
[...]
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/local/etc/mysql5/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit
--no-defaults Don't read default options from any options file
--defaults-file=# Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
auto-rehash TRUE
character-sets-dir (No default value)
column-type-info FALSE
comments FALSE
compress FALSE
debug-check FALSE
debug-info FALSE
database (No default value)
default-character-set latin1
delimiter ;
vertical FALSE
force FALSE
named-commands FALSE
ignore-spaces FALSE
local-infile FALSE
no-beep FALSE
host (No default value)
html FALSE
xml FALSE
line-numbers TRUE
unbuffered FALSE
column-names TRUE
sigint-ignore FALSE
port 0
prompt mysql>
quick FALSE
raw FALSE
reconnect TRUE
socket (No default value)
ssl FALSE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-verify-server-cert FALSE
table FALSE
user (No default value)
safe-updates FALSE
i-am-a-dummy FALSE
connect_timeout 0
max_allowed_packet 16777216
net_buffer_length 16384
select_limit 1000
max_join_size 1000000
secure-auth FALSE
show-warnings FALSE
Run Code Online (Sandbox Code Playgroud)
小智 5
据我所知,没有办法看到MySQL启动时读取了什么配置文件。如果不存在,它只会使用编译时使用的默认值。注意,read是操作词,MySQL 不会让配置文件保持打开状态超过解析它的时间。
如果您非常好奇地想验证它搜索的文件的顺序,您可以简单地运行 mysqlstrace
并记下access()
系统调用。这将向您显示在搜索其配置时所遵循的编译顺序,以及您确实不想知道的大量内容。