
mysql
爱上双眼皮儿的猫
这个作者很懒,什么都没留下…
展开
-
mysql 修改server characterset latin1为 utf8(乱码问题)
找到my.conf文件,在[mysqld]后面添加如下几句话:character-set-server=utf8collation-server=utf8_general_ciskip-character-set-client-handshake保存文件,重启mysql即可原创 2015-08-27 15:36:40 · 2949 阅读 · 0 评论 -
mysql中间件研究( Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess,OneProxy )
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项转载 2016-11-19 14:07:26 · 1314 阅读 · 0 评论 -
mycat环境搭建
最近在了解mycat,自己搭建了一遍,现整理出来仅供大家参考~~~服务器环境:操作系统:Ubuntu 64位CPU:Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz内存:2G1.将事先准备好的mycat压缩包Mycat-server-1.4-release-20151019230038-linux.tar.gz上传至服务器。2.原创 2016-12-13 11:05:54 · 1774 阅读 · 0 评论 -
mysql数据库参数性能配置参考
1. 查看mysql读取配置文件的顺序/usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'2. -- 注意下面数字如果是M为单位的,需要是1*1024*1024SHOW VARIABLESWHEREvariable_name IN ('innodb_buffer_pool_size', --原创 2016-12-07 11:24:21 · 696 阅读 · 0 评论 -
mybatis报错:A query was run and no Result Maps were found for the Mapped Statement
今天编辑mybatis的xml文件,出现如下错误:程序出现异常[A query was run and no Result Maps were found for the Mapped Statement '***'. It's likely that neither a Result Type nor a Result Map was specified.at org.mybatis原创 2016-11-08 20:40:02 · 106682 阅读 · 9 评论 -
mysql中日期类型DATETIME和TIMESTAMP的区别
在实际应用的很多场景中,mysql的这两种日期类型都能够满足我们的需要,存储精度都为秒,但在某些情况下,会展现出他们各自的优劣。下面就来总结一下两种日期类型的区别。1.DATETIME的日期范围是1001——9999年,TIMESTAMP的时间范围是1970——2038年。2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示的值也依赖于时区。在mysql服务器原创 2016-08-23 21:43:43 · 17036 阅读 · 3 评论 -
mysql prepare语句使用
语法 [sql] view plain copyPREPARE statement_name FROM sql_text /*定义*/ EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/ DEALLOCATE PREPARE statement_name转载 2016-07-04 17:01:32 · 971 阅读 · 0 评论 -
Mybatis中#和$的区别
Mybatis中$和#的区别原创 2017-01-05 17:06:03 · 6684 阅读 · 1 评论 -
Mysql创建用户表并利用存储过程添加100万条随机用户数据
1.创建用户表CREATE TABLE user100w( id INT NOT NULL AUTO_INCREMENT, first_name VARCHAR(10) NOT NULL, last_name VARCHAR(10) NOT NULL, sex VARCHAR(5) NOT NULL, score INT NOT NULL, copy_id INT NOT N原创 2017-01-17 18:58:49 · 13094 阅读 · 6 评论 -
mysql 利用游标循环删除数据报错:No data - zero rows fetched, selected, or processed
第一次用mysql的游标来循环处理数据,编写的存储过程如下:DROP PROCEDURE IF EXISTS delete_Menu; DELIMITER $$ CREATE PROCEDURE delete_Menu( IN menuCode VARCHAR(200))BEGIN DECLARE userCode VARCHAR(20); DECLARE cur_user C原创 2017-02-22 14:46:50 · 16731 阅读 · 1 评论 -
MySQL 主从复制的几种方式
MySQL 主从复制主要有以下几种方式: 基于 SQL 语句的复制(statement-based replication, SBR); 基于行的复制(row-based replication, RBR);混合模式复制(mixed-based replication, MBR); 基于 SQL 语句的方式最古老的方式,也是目前默认的复制方式,后来的两种是 MySQL 5 以后才出现的原创 2017-04-24 09:48:14 · 8226 阅读 · 1 评论 -
MySQL Error 1093(HY000) Update不支持子查询的问题
sql: update product set price = (select max(price+1) p from product) where id=1;报错:[Err] 1093 - You can't specify target table 'product' for update in FROM clause解释:MySQL中不允许先select出同一原创 2016-07-19 14:38:51 · 3993 阅读 · 0 评论 -
mysql的几种函数整理
1.concat()函数使用语法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。e.gselect concat(id,name) from user where id=1;查询结果:1user1注:如果name为null,则查询结果为null;2.group_concat()函数原创 2016-07-04 16:00:47 · 425 阅读 · 0 评论 -
Ubuntu无法进入mysql,报ERROR 2002 (HY000): Can't connect to local MySQL server through socket …错误
在Ubuntu下进入mysql 时,报ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 错误。检查发现是因为mysql没有启动。输入 sudo service mysql start 后,又出现Couldn't find MySQL server原创 2015-08-27 15:26:29 · 1135 阅读 · 0 评论 -
Emoji表情符号录入MySQL数据库报错的解决方案
前言:手机app应用评论的时候,恢复表情符号,提示失败。1,查看tomcat后台日志,核心报错信息如下: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1at com.mysql.jdbc.SQ转载 2015-08-18 11:36:47 · 639 阅读 · 0 评论 -
mysql 数据库无法删除
1.进入mysql,输入show variables like '%data%',找到数据库数据的存储路径;2. sudo rm -r 数据库数据的存储路径+数据库名称;原创 2015-09-04 11:03:37 · 1060 阅读 · 0 评论 -
MYSQL中LIMIT用法
limit是mysql的语法select * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条。select * from tablename limit 2,4即取出第3条至第6条,4条记录原创 2015-11-24 15:35:16 · 308 阅读 · 0 评论 -
乐观锁和悲观锁
在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用原创 2015-11-24 10:27:29 · 390 阅读 · 0 评论 -
mysql处理数据库中的部分数据
1.备份数据库中某些表数据:mysqldump -u root -p password databaseName table1 table2...>xxx.sql;2.sql获取以“,”隔开的某个字段内容:select group_concat(字段名) from table;原创 2016-01-18 09:29:19 · 305 阅读 · 0 评论 -
mysql查询字符串数据区分大小写问题
在mysql中,查询数据表中的某个字符串类型的字段时默认是不区分大小写的,这将导致根据字符串查询出现结果错乱,例如:表table如下查询语句select name from table where loginid="asdFghGds"的查询结果为 想要区分大小写,只需要在sql中添加binary关键字,即查询语句select name from table where binary原创 2016-01-20 17:35:28 · 688 阅读 · 0 评论 -
mysql 使用inet_aton和inet_ntoa处理ip地址数据
本文将介绍如何在数据库中使用合适格式保存ip地址数据,并能方便的对ip地址进行比较的方法。1.保存ip地址到数据库数据库中保存ip地址,字段一般会定义为:`ip` char(15) NOT NULL,1因为ip地址(255.255.255.255)的最大长度是15,使用15位char已足够。创建表userCREATE TABLE `user` ( `id` i转载 2016-01-14 14:14:39 · 556 阅读 · 0 评论 -
mysql中正则表达式的使用
1.基本字符的匹配 select name from user where name REGEXP 'li';解释:查询user表中name字段内容中包含“li”的所有行;如果需要区分大小写,则添加BINARY字段,如下select name from user where name REGEXP BINARY 'li';2.OR匹配(多个条件之间存在 与关系)原创 2016-06-27 09:58:57 · 376 阅读 · 0 评论 -
mysql 拼接字段显示
有时候我们在显示数据的时候,需要把数据表中的两个(多个)列拼接在一起显示,通常情况下优良中国实现方式。一种是查询的时候把需要的列数据都查询出来,在应用程序中再处理成想要的格式;另一种方式就是利用MySQL的拼接字段函数concat()直接从数据库查询结果获得需要格式的数据。例如:每条用户信息都包含姓名和家庭住址,我们现在需要查出name(address)格式的数据,则需如下查询语句:selec原创 2016-06-27 10:29:41 · 1302 阅读 · 0 评论 -
几种MySQL高可用方案整理
第一种:主从复制+读写分离客户端通过Master对数据库进行写操作,slave端进行读操作,并可进行备份。Master出现问题后,可以手动将应用切换到slave端。 对于数据实时性要求不是特别严格的应用,只需要通过廉价的pc server来扩展Slave的数量,将读压力分散到多台Slave的机器上面,即可通过分散单台数据库服务器的读压力来解决数据库端的读性能瓶颈,毕竟在大多数数据库应用系统中的原创 2017-04-24 14:28:38 · 30449 阅读 · 0 评论