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没有配置文件,因此须要本身手动添加。变量
最后额外加一点东西,就是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权限,且可将相关路径添加到环境变量,可简化书写,至于如何添加是不作介绍了。