Mar*_*k B 247
摘自梦幻般的"高性能MySQL"O'Reilly书:
$ which mysqld
/usr/sbin/mysqld
$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
sta*_*san 60
如果你运行mysql --verbose --help | less它将告诉你第11行.cnf它将寻找哪些文件.
您还可以mysql --print-defaults向您展示它将使用的配置值.这对于识别它正在加载哪个配置文件也很有用.
小智 57
如果你在Linux上,那么启动'mysqld' strace,例如 strace ./mysqld.
在所有其他系统调用中,您会发现类似于:
stat64("/etc/my.cnf", 0xbfa3d7fc) = -1 ENOENT (No such file or directory)
stat64("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=4227, ...}) = 0
open("/etc/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3
Run Code Online (Sandbox Code Playgroud)
所以,正如你所看到的......它列出了它试图使用并最终使用的.cnf文件.
Ale*_*lin 27
我在Windows上,我已经安装了最新版本的MySQL社区5.6
我做了什么来查看配置文件使用的是转到管理工具>服务> MySQL56>右键单击>属性并检查可执行文件的路径:
"C:/ Program Files/MySQL/MySQL Server 5.6/bin\mysqld"--defaults-file ="C:\ ProgramData\MySQL\MySQL Server 5.6\my.ini"MySQL56
小智 17
另一种方法是使用
mysqladmin variables
Run Code Online (Sandbox Code Playgroud)
小智 13
mysqld --help --verbose很危险.您可以轻松覆盖pidfile以运行实例!与--pid-file = XYZ一起使用它
哦,如果你有超过1个实例运行,你就无法真正使用它.它只会显示默认值.
关于它的文章非常好:
小智 9
刚刚对ubuntu进行了快速测试:
安装了mysql-server,创建了/etc/mysql/my.cnf
mysqld --verbose --help | grep -A 1"默认选项"
110112 13:35:26 [注意]插件'FEDERATED'被禁用.
以给定顺序从以下文件中读取默认选项:/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf~/.my.cnf
创建了/etc/my.cnf和/usr/etc/my.cnf,每个都有不同的端口号
重启mysql - 它使用的是/usr/etc/my.cnf中设置的端口号
同时还找到了mysqld的--defaults-file选项.如果你在那里指定一个配置文件,那么只使用那个配置文件,无论/ usr/sbin/mysqld返回什么--verbose --help | grep -A 1"默认选项"
| 归档时间: |
|
| 查看次数: |
176555 次 |
| 最近记录: |