mysql有兩種參數:服務器參數和狀態變量
服務器參數可以修改和查看,查看命令:show variables\G;
服務器參數有兩種修改方法:
a.修改配置文件,啓動時才生效
b.運行時修改,立即生效,但是臨時有效
狀態變量不能修改,只能查看,不同的版本或者不同的賬號,查看的數據不一定一樣,用於計數(如記錄了多少次操作或者當前的工作狀態),查看命令:show status\G;
運行時修改的變量,大部分的參數都能在運行時修改;只對當前的會話生效。
服務器參數和狀態變量有兩種級別:全局(爲所有會話提供參數) 和 會話級別
查看全局:show global variables\G;
修改全局:set global 參數
查看 會話級別:show session variables\G;
修改會話:set session 參數
注意,每一會話的參數都是從全局繼承的,如果只是修改會話級別的參數,會話終止後對應的參數就會失效,因此要修改全局的才能對所有的新建會話生效,老會話不生效。用set命令修改,一旦重啓mysql所有的參數設定,包括全局和會話的參數,都會失效,恢復到默認的值,用永久生效,要寫入配置文件。
查看,以下兩個語句不同的寫法,但是結果一樣:
MariaDB [sunny]> select @@global.innodb_file_per_table;
MariaDB [sunny]> show global variables like "innodb_file_per_table";
設置值
set @@global.innodb_file_per_table=1;