我很好奇有没有办法在共享主机中找到 my.cnf 或者这个文件只能由 DBA 配置而没有人可以设置他/她自己的设置?
在共享主机环境中,您无法访问 my.cnf
您可以通过其他方式查看变量:
SHOW VARIABLES;将显示所有设置的变量。有些可以在您的会话中使用SET命令动态更改。有些可以在服务器中设置,以便新的数据库连接可以使用新设置的值。
SHOW VARIABLES LIKE 'innodb%' 显示所有 innodb 设置
SHOW VARIABLES LIKE '%timeout' 显示所有超时设置
SHOW VARIABLES LIKE '%buffer%' 显示所有缓冲区
##INFORMATION_SCHEMA
您还可以通过 INFORMATION_SCHEMA 数据库访问这些变量。访问这些值的表是
使用这些表的相同请求是
SHOW VARIABLES; 变成 SELECT * FROM information_schema.global_variables;SHOW VARIABLES LIKE 'innodb%' 变成 SELECT * FROM information_schema .global_variables WHERE VARIABLE_NAME LIKE 'innodb%';SHOW VARIABLES LIKE '%timeout' 变成 SELECT * FROM information_schema .global_variables WHERE VARIABLE_NAME LIKE '%timeout';SHOW VARIABLES LIKE '%buffer%' 变成 SELECT * FROM information_schema .global_variables WHERE VARIABLE_NAME LIKE '%buffer%';INFORMATION_SCHEMA.SESSION_VARIABLES 存在的原因是查看您的会话设置,如果您在会话期间将变量更改为与全局设置不同的内容。
SET GLOBAL max_connections = 1000; 现在将允许 1000 个数据库连接SET sort_buffer_size = 1024 * 1024 * 8; 将您的会话 sort_buffer_size 设置为 8MSET GLOBAL sort_buffer_size = 1024 * 1024 * 8; 将所有传入数据库连接的会话 sort_buffer_size 设置为 8M请记住,并非所有设置都可以动态更改。某些值,例如sort_buffer_size (session or global) 和max_connections (global only [session is N/A]),例如innodb_buffer_pool_size和lower_case_table_names,只能通过在 my.cnf 中设置并重新启动 mysqld 来更改。
| 归档时间: |
|
| 查看次数: |
8114 次 |
| 最近记录: |