Mysql
有沒有辦法在共享主機中找到 my.cnf?
我很好奇有沒有辦法在共享主機中找到 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(會話或全域)和max_connections(僅全域
$$ session is N/A $$),例如innodb_buffer_pool_size和lower_case_table_names,只能通過在 my.cnf 中設置並重新啟動 mysqld 來更改。 點擊此處查看變數列表、它們的預設值和它們的會話特徵。