一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Database

mysql添加DATETIME类型字段导致Invalid default value错误的问题

执行sql如下:

执行结果:

这段sql在本机测试没问题,放到开发环境下就报错了。 很奇怪,搜索一番后,发现DATETIME类型只支持mysql 5.6.5+. 解决方法:

参考资料: http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column/10603198 from:https://www.liudon.org/1288.html

龙生   03 Jan 2018
View Details

How to Install MariaDB 10.1 on CentOS 7

In this article, we will outline the process of installing PHP 7.x MariaDB 10.1, the latest stable release of the MariaDB 10.x series at the time of writing this article, on CentOS 7. Prerequisites: An up-to-date CentOS 7 Server. A sudo user. Step 1: Create the MariaDB 10.1 YUM repo file

  Note: The code for setting up newer releases of MariaDB 10.x may wary in the future. You should always check out the official MariaDB website to confirm the code to be used. Step 2: Install MariaDB 10.1 using YUM

[…]

龙生   03 Jan 2018
View Details

centos7 安装最新版mariadb10.1

centos7默认自带的是mariadb5.5,mariadb 最新版有一个比较重要的功能 select partition ,所以必须升级。 升级教程: https://www.vultr.com/docs/how-to-install-mariadb-10-1-on-centos-7 修改一下:

(那个验证的被墙了。如果服务器是国外的不需要修改,直接用第一个连接上的) 官方说明: https://mariadb.com/kb/en/mariadb/upgrading-from-mariadb-55-to-mariadb-100/ 话说升级不是很人性化,必须卸载重新安装。(by coconets@163.com ) from:http://blog.csdn.net/default7/article/details/74795766

龙生   03 Jan 2018
View Details

centos7 mysql数据库安装和配置

一、系统环境 yum update升级以后的系统版本为

二、mysql安装 一般网上给出的资料都是

安装mysql和mysql-devel都成功,但是安装mysql-server失败,如下:

查资料发现是CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。 有两种解决办法: 1、方法一:安装mariadb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 安装mariadb,大小59 M。

mariadb数据库的相关命令是: systemctl start mariadb  #启动MariaDB systemctl stop mariadb  #停止MariaDB systemctl restart mariadb  #重启MariaDB systemctl enable mariadb  #设置开机启动 所以先启动数据库

然后就可以正常使用mysql了

安装mariadb后显示的也是 MariaDB [(none)]> ,可能看起来有点不习惯。下面是第二种方法。 2、方法二:官网下载安装mysql-server

安装成功后重启mysql服务。

初次安装mysql,root账户没有密码。

设置密码

不需要重启数据库即可生效。 在mysql安装过程中如下内容:

  所以安装完以后mariadb自动就被替换了,将不再生效。

三、配置mysql 1、编码 mysql配置文件为/etc/my.cnf 最后加上编码配置

这里的字符编码必须和/usr/share/mysql/charsets/Index.xml中一致。 2、远程连接设置 把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

如果是新用户而不是root,则要先新建用户

此时就可以进行远程连接了。   from:https://www.cnblogs.com/starof/p/4680083.html

龙生   03 Jan 2018
View Details

XtraBackup

Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

龙生   03 Jan 2018
View Details

XtraDB

XtraDB存储引擎是由Percona开发的一款MySQL数据库的高性能存储引擎,其目的是用来代替InnoDB存储引擎,可用于需要更高性能的环境。

龙生   03 Jan 2018
View Details

MySQL时间戳与日期格式的相互转换

1、UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 输出:2006-08-22 12:11:10 2、日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() Select UNIX_TIMESTAMP('2006-11-04 12:23:00'); 例:mysql查询当天的记录数: $sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’) order by id desc”;   PHP方式转换: UNIX时间戳转换为日期用函数: date() date('Y-m-d H:i:s', 1156219870); 日期转换为UNIX时间戳用函数:strtotime() strtotime('2010-03-24 08:15:42');   from:http://blog.csdn.net/u013372487/article/details/48131589

龙生   08 Dec 2017
View Details

mysql 语法

from:http://www.cnblogs.com/zbseoag/archive/2013/03/18/2966568.html

龙生   30 Nov 2017
View Details

MySQL数据类型

1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediumint(m) 3个字节  范围(-8388608~8388607) int(m) 4个字节  范围(-2147483648~2147483647) bigint(m) 8个字节  范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。 int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。 2、浮点型(float和double) MySQL数据类型 含义 float(m,d) 单精度浮点型    8位精度(4字节)     m总个数,d小数位 double(m,d) 双精度浮点型    16位精度(8字节)    m总个数,d小数位 设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。 3、定点数 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。 decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。 4、字符串(char,varchar,_text) MySQL数据类型 含义 char(n) 固定长度,最多255个字符 varchar(n) 固定长度,最多65535个字符 tinytext 可变长度,最多255个字符 text 可变长度,最多65535个字符 mediumtext 可变长度,最多2的24次方-1个字符 longtext 可变长度,最多2的32次方-1个字符 char和varchar: 1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。 2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。 3.char类型的字符串检索速度要比varchar类型的快。 varchar和text: 1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。 2.text类型不能有默认值。 3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。 5.二进制数据(_Blob) 1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。 2._BLOB存储的数据只能整体读出。 3._TEXT可以指定字符集,_BLO不用指定字符集。 6.日期时间类型 MySQL数据类型 含义 date 日期 '2008-12-2' time 时间 ’12:25:36′ datetime 日期时间 '2008-12-2 22:06:44' timestamp 自动存储记录修改时间 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。 数据类型的属性   MySQL关键字 […]

龙生   30 Nov 2017
View Details

格式化MYSQL时间戳函数FROM_UNIXTIME

对MYSQL没有进行过深入的研究,基础知识匮乏,一遇到问题只能手册,看来要把MYSQL的学习安排进时间表了。 函数:FROM_UNIXTIME 作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。 语法:FROM_UNIXTIME(unix_timestamp,format) 返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。 根据format字符串格式化date值。 下列修饰符可以被用在format字符串中: %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) %c 月, 数字(1……12) %b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %l 小时(1……12) %i 分钟, 数字(00……59) %r 时间,12 小时(hh:mm:ss [AP]M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59) %s 秒(00……59) %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期的第一天 %u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%”。 例子:

    […]

龙生   28 Nov 2017
View Details
1 12 13 14 40