服务器的启动和停止

停止:net stop mysql

启动:net start mysql

-------------------------mysql

mode相关问题------------------

一、Mysql SQL Mode简介

MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用MySQL。可以使用“--sql-mode="modes"”选项,通过启动mysqld来设置默认的SQL模式。从MySQL

4.1开始,也能在启动之后,使用SET [SESSION|GLOBAL]

sql_mode='modes'语句,通过设置sql_mode变量更改模式。

通常在linux下安装完mysql后,默认的sql-mode值是空,在这种情形下mysql执行的是一种不严格的检查,例如日期字段可以插入’0000-00-00

00:00:00’这样的值,还有如果要插入的字段长度超过列定义的长度,那么mysql不会终止操作,而是会自动截断后面的字符继续插入操作,如下例:

mysql> create table t5 (c1 char(3));

mysql> insert into t5 values('abcd');

mysql> select * from t5;

+------+

| c1   |

+------+

| abc  |

+------+

1 row in set (0.00 sec)

我们发现插入的字符被自动截断了,但是如果我们本意希望如果长度超过限制就报错,那么我们可以设置sql_mode为STRICT_TRANS_TABLES,如下:

mysql> set session

sql_mode='STRICT_TRANS_TABLES'

这样我们再执行同样的操作,mysql就会告诉我们插入的值太长,操作被终止,如下:

mysql> insert into t5 values('abcd');

ERROR 1406 (22001): Data too long for column

'c1' at row 1

经常使用的sql_mode值如下表:

Sql_mode值

描述

ANSI

更改语法和行为,使其更符合标准SQL。

STRICT_TRANS_TABLES

如果不能将给定的值插入到事务表中,则放弃该语句。对于非事务表,如果值出现在单行语句或多行语句的第1行,则放弃该语句。本节后面给出了更详细的描述。

TRADITIONAL

Make

MySQL的行为象“传统”SQL数据库系统。该模式的简单描述是当在列中插入不正确的值时“给出错误而不是警告”。注释:一旦发现错误立即放弃INSERT/UPDATE。如果你使用非事务存储引擎,这种方式不是你想要的,因为出现错误前进行的数据更改不会“滚动”,结果是更新“只进行了一部分”。

说明:如果把sql_mode的值设置成后面的两个值(也就是我们说的严格模式),那么当在列中插入或更新不正确的值时,mysql将会给出错误,并且放弃insert/update操作。在我们的一般应用中建议使用这两种模式,而不是使用默认的空或ANSI模式。但是需要注意的问题是,如果数据库运行在严格模式下,并且你的存储引擎不支持事务,那么有数据不一致的风险存在,比如一组sql中有两个dml语句,如果后面的一个出现了问题,但是前面的已经操作成功,那么mysql并不能回滚前面的操作。因此说设置sql_mode需要应用人员权衡各种得失,从而得到一个合适的选择。

Sql_mode的值还有很多,这里不再累述,可以参考相关的手册。

二、SQL Mode与可移植性

如果mysql与其它异构数据库之间有数据移植的需求的话,那么下面的sql_mode的组合设置可以达到相应的效果:

数据库

Sql_mode值

DB2

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS

MAXDB

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、

NO_AUTO_CREATE_USER

MSSQL

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、

NO_FIELD_OPTIONS

ORACLE

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、NO_AUTO_CREATE_USER

POSTGRESQL

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS

三、SQL Mode与数据效验

SQL Mode 还可以实现对数据效验和转移等功能如:

①效验日期数据合法性.

②在INSERT或UPDATE过程中,如果被零除(或MOD(X,0)),则产生错误

③将‘"’视为识别符引号(‘`’引号字符)

④禁用反斜线字符(‘\’)做为字符串内的退出字符。启用NO_BACKSLASH_ESCAPES模式,反斜线则成为普通字符。

⑤将||视为字符串连接操作符(+)(同CONCAT()),而不视为OR。

怎么重启网站mysql数据库_如何重启MySQL数据库服务相关推荐

  1. 删除mysql数据库_安装/删除MySQL数据库

    安装包我会放在本文的底部,如果需要自取 MysqL的数据存储目录为data,data目录通常在C:\Documents and Settings\All Users\Application Data\ ...

  2. 多线程写mysql数据库_多线程读写mysql数据库

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 unsigned int __stdcall scan(PVOID pM) { char ip[20]; strcpy(ip, (char*)pM); M ...

  3. .net mysql数据库_.net连接MySQL数据库

    1.通过Visual Stdio新建.net项目 (1)新建项目 (2)选择项目配置 (3)项目结构 (4)新建一个Controller,名称要取HomeController usingSystem; ...

  4. 封装连接mysql数据库_封装连接mysql数据库

    封装连接mysql数据库 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Servi ...

  5. 封装mysql数据库_快速掌握 Mysql数据库对文件操作的封装

    快速掌握 Mysql数据库对文件操作的封装 在查看Mysql对文件的操作中,它在不同的操作系统上对文件的操作,除了使用标准C运行库函数,包括open.close.seek等,在Win32下的文件和目录 ...

  6. 电脑如何共享mysql数据库_如何共享mysql数据库?

    网友解答: 共享数据库,你说的是多个人同时使用一个数据库吧,说的清楚一点就是,在一个数据库上,给不同的人授予不同的权限,大家共同来使用这个数据库.这个实现起来挺简单的,下面以我本地的mysql数据库为 ...

  7. ubuntu+终端不能启动mysql数据库_强制重启Ubuntu服务器后Mysql无法启动

    本文将为您描述强制重启Ubuntu服务器后Mysql无法启动,具体完成步骤: 强制重启服务器后启动mysql不断报错误"code=exited","failed" ...

  8. 如何复制mysql数据库_怎么复制mysql数据库到另一台电脑上?

    有两种办法. 1.在B机器上装mysql. 将A机器上的mysql/data下的你的数据库目录整个拷贝下来. 将B机器上的mysql服务停止. 找到B机器上的mysql/data目录,将你拷贝的目录粘 ...

  9. 怎么抽象mysql数据库_一个用于mysql的数据库抽象层函数库

    一个用于mysql的数据库抽象层函数库 更新时间:2006年10月09日 00:00:00   作者: // // SourceForge: Breaking Down the Barriers to ...

最新文章

  1. 如何“快”、“准”、“狠”成为优秀算法工程师
  2. oracle 取今日0时,Oracle 取得当天0时0分0秒和23时59分59秒
  3. BZOJ3224普通平衡树
  4. Hadoop常见面试45问
  5. MFC改变对话框背景图片实例
  6. 如何合理地建立 Mysql 索引
  7. 一文了解 Java 应用程序性能优化指南
  8. [游戏制作]-C语言实现井字棋(三子棋)游戏简单版
  9. 机器学习:金融领域的岗位需求
  10. 肺肠轴——看不见的Crosstalk
  11. C#之Base64编码解码
  12. http系列---OpenSSL生成根证书CA及签发子证书
  13. 阿里拍卖面试题:实现一个重拍序
  14. 银河5 号超级计算机,全球超级计算机500强最新排行 天河一号第五
  15. 关于Autodesk软件安装问题
  16. elasticsearch两个启动报错的解决
  17. 计算机学校起名网,最新微信网名校园系列
  18. 小米手环NFC版复制校园卡,加密卡教程。
  19. 适合入门的一些现成的人工智能项目
  20. 2021.04.01【2021省赛】模拟 比赛总结

热门文章

  1. 地面标识检测与识别算法
  2. 深度学习在计算机视觉中的应用长篇综述
  3. 2021年大数据HBase(十一):Apache Phoenix的视图操作
  4. 电脑总有安装计算机更新,为什么我们的电脑总会莫名的安装垃圾软件,看完吓一跳,欢迎关注...
  5. float js 正则 验证_使用HTML和Vuejs进行表单验证
  6. 微信小程序根据后台返回值设置自己想要的结果
  7. JMeter自学笔记3-创建自己的第一个测试用例
  8. 【PHP+JS】uploadify3.2 和 Ueditor 修改上传文件 大小!!
  9. lambda表达式树
  10. WCF服务端返回:(413) Request Entity Too Large