在工作中使用Mysql資料庫,發現建表後的ddl顯示錶名、欄位都是雙引號。這樣的ddl線上上工單系統無法通過,需要將雙引號轉成反引號(`)才行。
通過執行命令show VARIABLES like `%sql%`
發現,sql_mode
的值是ANSI_QUOTES
。
檢視my.cnf配置檔案,發現有如下配置:
# 對本地的mysql客戶端的配置
[client]
#default-character-set = utf8
# 對其他遠端連線的mysql客戶端的配置
[mysql]
default-character-set = utf8
# 本地mysql服務的配置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server = utf8
sql_mode=`ANSI_QUOTES`
default-storage-engine=INNODB
server-id=1
log-bin=mysql-bin
binlog_format=MIXED
expire_logs_days=30
[mysqld_safe]
log-error=/var/log/mysqld.log
將mysqld下的sql_mode配置去掉,重啟服務即可。