Answers:
三(3)个选项
选项1:从mysql客户端中
mysql -uroot -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt
这会将所有选项捕获到文本文件中。
选项2:从Linux命令行
ps -ef | grep mysqld | grep -v grep
这将显示从mysqld_safe设置开始的mysqld选项
选项3:直接询问服务器
mysqld --help --verbose
在“ mysqld --help --verbose”显示的底部,您将看到从my.cnf加载或默认为mysqld的当前设置。
这些说明适用于centos 7.1上的mariadb股票。
下面介绍如何将计算机的当前设置备份或复制到当前或将来的新安装中。
在我们要从中复制设置的机器上,我们可以运行:
/usr/libexec/mysqld --help --verbose > mysql_current_settings.txt
在另一台计算机上,我们可以安装mariadb-server并运行:
/usr/libexec/mysqld --help --verbose > mysql_default_settings.txt
然后,我们将两个文件放入一个目录,在此示例中为“ / a /”。
然后我们运行:
comm -3 <(sort /a/mysql_current_settings.txt) <(sort /a/mysql_default_settings.txt)
如果没有输出,则两个文件相同。这意味着两台计算机上的所有设置均为默认设置。
如果有输出,则某些行将不缩进,而某些行将缩进。
非缩进的行仅出现在第一个文件(这里是/a/mysql_current_settings.txt)中。
缩进行仅出现在第二个文件(这里是/a/mysql_default_settings.txt)中。
现在我们知道所有设置,除了在启动mysqld的命令行中设置的某些设置之外。这些设置可能来自/etc/my.cnf或/etc/my.cnf.d/*文件,或者是自定义脚本或别名等。在任何情况下,我们都可以使用以下命令查看它们:
ps -ef | grep mysqld
现在,我们知道在新安装中只需更改很少的设置即可将其配置为旧安装。
这里遵循其他一些细节。
在centos 7.1上,以下命令显示所有当前设置,但在启动mysqld的命令行中设置的某些设置除外:
/usr/libexec/mysqld --help --verbose
总共显示:
在第一部分中,我们可以在启动“ mysqld”之后将其用作第一个参数的设置;
在第二部分中,设置是在编译时设置的;
在第三部分中,当前设置。
即使输出的最后一行显示:要查看正在运行的MySQL服务器正在使用的值,请键入:
mysqladmin variables -uroot -p
即使我们在/etc/my.cnf中更改了该命令并重启mysql,该命令也不会显示fe,bind-address。
另外,以下命令显示许多设置,但不显示“ bind-address”:
mysql -uroot -p -e"SHOW VARIABLES;"
请注意,在centos 7.1上,mysqld不在$ PATH中。
这是生成当前my.cnf的最喜欢的方法:
{ echo -e "# MYSQL VARIABLES {{{1\n##\n# MYSQL `mysql -V|sed 's,^.*\(V.*\)\, for.*,\1,'` - By: `logname`@`hostname -f` on `date +%c`\n##"; for l in {a..z}; do echo '#'; mysql -NBe "SHOW GLOBAL VARIABLES LIKE '${l}%'" | sed 's,\t,^= ,' | column -ts^ | tr "\n" '@' | eval $(echo "sed '" "s,@\("{a..u}{a..z}"\),\n\n\1,;" "'") | eval $(echo "sed '" "s,@\(innodb_"{a..z}{a..z}"\),\n\n\1,;" "'") | tr '@' "\n" | sed 's,^,# ,g'; done; echo -e "#\n##\n# MYSQL VARIABLES }}}1"; } | tee ~/mysql-variables.log
但是,这对于Mac OS X无法可靠地工作。
这将输出一个干净的变量日志,已注释掉,准备导入到my.cnf中。
原始来源:http : //www.askapache.com/mysql/view-mysql-variables-my-cnf.html
mysqld -V|sed 's,^.*\(V.*\)\ for.*,\1,'
。不确定是否重要,因为我认为客户端和服务器都安装在一起。{{{1
和的目的是1}}}
什么?