MySQL中SQL Mode的查看與設置

MySQL能夠運行在不一樣的模式下,並且能夠在不一樣的場景下運行不一樣的模式,這主要取決於系統變量 sql_mode 的值。本文主要介紹一下這個值的查看與設置,主要在Mac系統下。
對於每一個模式的意義和做用,網上很容易找到,本文不作介紹。mysql

按做用區域和時間可分爲3個級別,分別是會話級別,全局級別,配置(永久生效)級別。sql

會話級別:

查看-服務器

select @@session.sql_mode;

修改-session

set @@session.sql_mode='xx_mode'
set session sql_mode='xx_mode'

session都可省略,默認session,僅對當前會話有效命令行

全局級別:

查看-rest

select @@global.sql_mode;

修改-code

set global sql_mode='xx_mode';
set @@global.sql_mode='xx_mode';

需高級權限,僅對下次鏈接生效,不影響當前會話(親測過),且MySQL重啓後失效,由於MySQL重啓時會從新讀取配置文件裏對應值,若是需永久生效須要修改配置文件裏的值。server

配置修改(永久生效):

打開 vi /etc/my.cnf
在下面添加io

[mysqld]
sql-mode = "xx_mode"

注意:[mysqld]必須加,且sql-mode中間是「-」,而不是下劃線。
保存退出,重啓服務器,便可永久生效。
由於Mac下安裝MySQL沒有配置文件,因此須要本身手動添加。變量

ps

最後額外加一點東西,就是Mac下MySQL的啓動、中止、重啓等操做。
主要有兩種方式,
一是點擊」系統偏好設置「對應的MySQL面板,可實現管理。
二是命令行方式。
MySQL相關的執行腳本,經常使用的主要是下面兩個:

/usr/local/mysql/support-files/mysql.server
/usr/local/mysql/bin/mysql

mysql.server是控制服務器的啓停等操做。

mysql.server start|stop|restart|status

mysql主要用於鏈接服務器。

mysql -uroot -p **** -h **** -D **

有些須要sudo權限,且可將相關路徑添加到環境變量,可簡化書寫,至於如何添加是不作介紹了。

相關文章
相關標籤/搜索