首页 › Category Archives › mysql

CentOS下MySQL 5.7.9编译安装

MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复。

MySQL 5.7主要特性:
更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的
更好的InnoDB存储引擎
更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能
更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题
原生JSON类型的支持
更好的地理信息服务支持:InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性
新增sys库:以后这会是DBA访问最频繁的库
MySQL 5.7已经作为数据库可选项添加到《OneinStack》

继续阅读 »

MySQL大小写敏感

经常遇到的问题,一些不是特别重要但是又比较郁闷的事情。例如今天这个MySQL大小写敏感。
先上测试结果。

Linux环境下,不是windows平台下。区别很大。注意。

继续阅读 »

MySQL字符集设置及字符转换(latin1转utf8)

在生成环境中,会经常碰到Mysql字符的设置问题,CU很多牛人都说过N次了,个人也总结下。

如果在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足要求需要调整,那么就需要进行字符集的修改。字符集的修改不能直接通过alter dataabase character set ***; 或者 alter table tablename character set ***; 命令进行,这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效。

在笔者的数据库最为常用的是latin1、utf8,由于项目的整合,字符的要求也开始规范,统一为utf8,那么就需要把之前的latin1字符转换成才utf8格式,那样才不会出现乱码的情况。已有的记录的字符集调整,需要先将数据导出,经过适当的调整重新导入后才可完成。
继续阅读 »

MySQL加密和解密

数据加密、解密在安全领域非常重要。对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大。

有多种前端加密算法可用于数据加密、解密,下面我向您推荐一种简单的数据库级别的数据加密、解密解决方案。以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT())。
继续阅读 »

在Windows下mysql++支持UTF8

这几天帮一个朋友修改一个产品,这个产品是在Windows下通过C++的mysql++去访问mysql数据库,同时,该产品的数据需要支持多语 言(中文、日文、韩文、法文等)。而mysql对于多语言的支持采用的字符集是utf8,但是,在windows下的vs中是采用unicode,这样就 需要进行字符集的转化。而该产品的代码中,又使用了STL的string,这样就更麻烦了。
继续阅读 »

mysql++如何设置字符集

在用mysql++连接mysql时,发现读出的数据有乱码,然后看看mysql++的源码,发现mysql++提供有设置字符集的接口,方法如下所示:
继续阅读 »

MYSQL++源码剖析——前言与目录

终于完成了!

从第一次想写到现在真的写好大概花了我3个月时间。原来一直读人家的系列文章,总感慨作者的用心良苦和无私奉献,自己在心里总是会觉得有那么些冲动也来写一个。
继续阅读 »

14. MYSQL++之SSQLS(原理解析)

从之前所介绍的SSQLS的介绍中我们可以感受到,SSQLS的精髓应该在sql_create_#这个宏,他所创建出来的这个结构体将会是突破的关键,所以我将会从以下顺序入手。
继续阅读 »

13. MYSQL++之SSQLS(基本用法篇)

1. 综述

终于来到了SSQLS( Specialized SQL Structure),照我看来这是一个很类似于Hibernate的功能。也就是说,通过SSQLS可以将一张表完全对应到一个C++结构体中,然后只要对于这个结构体进行操作,同时再加入到对应的mysqlpp:: Query对应的方法中,我们就可以执行对应的SQL语句。
继续阅读 »

12. MYSQL++之Template Query

1. 什么是Template Query

在我们实际的编程过程中,我们很容易碰到printf这类需要在运行时来决定到底打印出什么的函数,例如

在这个例子中,那个%s占位符表明了我们以后希望打印的内容格式和位置。同样,在我们书写SQL语句的时候,也会出现这样的情况,例如
继续阅读 »