
mysql
文章平均质量分 59
zhangxj_jack
时刻准备着,当机会来临时,你就会成功
展开
-
mysql 批量插入和批量更新的
做法二:利用mysql的insert into 表名 values (.....),(.....),(.....),(.....) 特性一次性大批量的插入数据,提高效率[java]备注:我用的是ibatis业务层:private void batchInsertAct(ListProgramDetail> acts) throws DataBaseExcepti原创 2014-09-16 09:49:47 · 848 阅读 · 0 评论 -
MySQL将查询结果插入到数据表中
基本的语法格式如下:INSERT INTO 表名1(字段列表1) SELECT 字段列表2 FROM 表名2 WHERE 条件表达式;表名1:表示记录插入到哪个表中。字段列表1:表示为哪些字段赋值。字段列表2:表示从表中查询出哪些字段的数据。表名2:表示记录是从哪个表中查询出来的。条件表达式:表示设置SELECT语句的查询条件。将“表名2”中查询出来的记录插入到“原创 2016-11-28 17:00:00 · 791 阅读 · 0 评论 -
查看数据库里所有表的行数与存储大小
SELECT table_name,table_rows, ROUND(SUM(data_length + index_length)/1024/1024/1024, 1) AS "Total GB" FROM INFORMATION_SCHEMA.TABLES WHERE table_schema NOT IN ("information_schema", "perform原创 2016-12-27 11:32:14 · 397 阅读 · 0 评论 -
mysql主从同步报错,错误问题看下面详细介绍
1、错误原因:搭好主从,stop slave; 报下面这句错误You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log2、解决方法,重新备份一次,做主从也不行,请教公司DBA大牛原创 2017-01-07 15:17:27 · 1026 阅读 · 0 评论 -
mysql 5.6 版本,对在使用的表进行分区
一、分区前准备1、先分析看看哪些字段查询比较多,怎样分区有利于提高查询效率。2、分区是有限制的,分区字段必须是主键之一,而且如果对时间分区,时间字段尽量 date 或datetime类型。二、删除以前没有用的分区,只删除分区不删除表记录alter table t_user_video remove partitioning -- 删除分区原创 2015-11-14 09:59:24 · 1520 阅读 · 0 评论 -
查看mysql主从配置的状态及修正 slave不启动问题
1、查看master的状态show master status; //Position不应该为0show processlist; //state状态应该为Has sent all binlog to slave; waiting for binlog to be updated2、查看slave状态show slave status;//Slave_IO_Runnin原创 2017-01-04 13:15:23 · 10069 阅读 · 0 评论 -
主从同步成功,需要删除主数据库里的其他数据库就报这种错Event Scheduler: Failed to open table mysql.event
原因:因为数据库以前安装版本和新版本不一样,拷贝的时候把内部 event信息也拷贝过来了,所以导致这种问题解决方法:第一步:查看从机event表数据结构mysql> show create table mysql.event;CREATE TABLE `event` ( `db` char(64) CHARACTER SET utf8 COLLATE utf8原创 2017-01-04 15:34:29 · 2073 阅读 · 0 评论 -
mysql 5.5 主从同步数据到 msyql5.6数据库,报错为Slave is not configured or failed to initialize properly. You must
报错为:Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in t1、分析得之:原创 2017-03-01 19:18:01 · 2090 阅读 · 0 评论 -
刚建的mysql主从,但是主机的bin日志没有开启,报如下错:Got fatal error 1236 from master when reading data from binary log: '
报错内容如下:Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'。解决方法如下:1、启用binlogmy.ini#log-bin=mysql-bin原创 2017-03-20 14:08:58 · 1258 阅读 · 0 评论 -
mysql 5.6忘记root密码,需要重新找回,找回方法如下
vi /etc/my.cnf #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables[mysqld]skip-grant-tables:x! #保存退出service mysql restart #重启MySQL服务2、进入MySQL控制台mysql -uroot -p #直接按回车,这时不需要输入root密原创 2017-03-21 09:04:12 · 1056 阅读 · 0 评论 -
更新表数据,或者复制数据到新表出现这样问题ERROR 1180 (HY000): Got error 5 during COMMIT
解决方案如下:mysql> select @@wsrep_max_ws_size;+---------------------+| @@wsrep_max_ws_size |+---------------------+| 1073741824 |+---------------------+1 row in set (0.00 sec)原创 2017-03-30 10:13:33 · 4583 阅读 · 0 评论 -
MySQL前缀索引和索引选择性
有时候需要索引很长的字符列,这会让索引变得大且慢。通常可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引效率。但这样也会降低索引的选择性。索引的选择性是指不重复的索引值(也称为基数,cardinality)和数据表的记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性高的索引可以让MySQL在查找时过滤掉更多的行。唯一索引的选择性是1,这是最好的索引选择性原创 2017-04-13 09:59:04 · 387 阅读 · 0 评论 -
mysql妙用:批量插入记录,遇到重复记录则为自动更新
摘要在更新大量数据时如果每条更新执行一次sql性能很低,也容易造成阻塞;批量更新时又有可能遇到主键重复的问题在更新大量数据时可能同时遇到两个问题:如果每条更新执行一次sql性能很低,也容易造成阻塞;批量更新时又有可能遇到主键重复的问题使用 ON DUPLICATE KEY UPDATE 一条sql解决批量更新和主键重复问题(id为主键)I原创 2016-08-16 17:24:34 · 4710 阅读 · 1 评论 -
mysql 创建唯一索引前 删除重复数据只保留id最小一条。
首先,现在的需求是: 表A有5个字段A1,A2,A3,A4,A5。 现在的唯一索引是A1+A2;因为业务的调整,需要改成A3+A4。解决办法: 1、第一步很简单,先drop掉原unique索引:A1+A2。 2、第二步,创建新unique,直接创建,想当然的报错,存在重复数据。 因此,需要第三步: 3、删除重复数据,只保留ID最小的一条: 大致思路时,找到那些A原创 2016-12-12 19:32:17 · 1703 阅读 · 0 评论 -
MySQL按照汉字的拼音排序
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序; 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了)。直接在查询语句后面 添加 order by name asc; 查询原创 2016-09-24 09:43:52 · 404 阅读 · 0 评论 -
spring mvc 下的mysql+mybatis批量更新
@ResponseBody @RequestMapping(value = "/batchUpdateWallpaper",produces = { "application/json;charset=UTF-8" }) public String batchUpdateWallpaper(HttpServletRequest request) {原创 2014-11-13 08:22:58 · 2029 阅读 · 0 评论 -
MySQL Daemon failed to start (mysql 版本为 5.1.)
要启动Mysql时发现“MySQL Daemon failed to start”启动失败的提示,我查找了很多资料,都说是看日志,改权限,但是我发现:第一 mysql日志什么都没有写,第二改完权限也没有用。正在着急之际,我在google(嗨,百度找黄片行,找资料真心不给力,百度上的资料基本一个样,让 我感觉大家都是ctrl+v的)搜索了一下,有人冒是也有出现类似——日志也是什么都没有。原创 2015-04-07 16:44:53 · 1223 阅读 · 2 评论 -
MySQL表的四种分区类型
一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。二、为什么要对表进行分区为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。分区的一些优点包括:与单个磁盘或文原创 2015-05-28 16:02:00 · 390 阅读 · 0 评论 -
mysql数据库支持表情发送并保存到数据库方法
第一步 :把装mysql 5.5以上版本数据库第二步:设置访问数据库路径jdbc.url=jdbc:mysql://ip:3306/testdatebase?useUnicode=true&characterEncoding=UTF-8&autoReconnect=truejdbc.username=xxxxjdbc.password=xxxx原创 2015-06-18 14:03:14 · 618 阅读 · 0 评论 -
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 用$传参时,直接将参数的值放在sql语句中,如:
SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM t_OPENSOURCEAPKINFO where RECOMMEND =1 and VISIBILITY=2 ORDER BY id id id id${orderKey原创 2014-09-04 08:14:19 · 12371 阅读 · 1 评论 -
mysql 5.6 打开慢查询
mysql版本:[root@mysql_multi ~]# vi /etc/my.cnf【mysqld3307】long_query_time=1#slow_query_logslow_query_log=1#slow_query_log_file=/data/mysql/mysqldata3307/log/slow-query.log#以前版本原创 2015-11-05 16:51:49 · 2536 阅读 · 0 评论 -
Linux下MySQL忘记root密码怎么办
一、Linux下如果忘记MySQL的root密码,可以通过修改配置的方法,重置root密码修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables保存配置文件后,重启MySQL服务 service mysqld restart再次进入MySQL命令行 my原创 2015-11-19 10:41:17 · 498 阅读 · 0 评论 -
mybatis中文条件查询时,不返回值
解决方案如下 :一、数据库安装后,编码没设置,设置成utf-8就好了,修改配置文件,最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):1、在[client]字段里加入default-character-set=utf8,如下:?1234[clie原创 2015-12-18 17:48:59 · 1653 阅读 · 0 评论 -
mysql建立部分索引
-- 计算部分索引平均值SELECT COUNT(DISTINCT t.show_sentence)/COUNT(1) from t_user_show t;-- 找出部分索引最佳长度(得到结果与平均值相近)SELECT COUNT(DISTINCT LEFT(t.show_sentence,10) )/COUNT(*) as sel10,COUNT(DISTINCT LEFT原创 2016-06-08 08:09:59 · 2651 阅读 · 0 评论 -
导mysql数据,遇到 longtext 类型,navicat导出会出现乱码
解决方法为:如果apkintrocuce为 longtext类型的话,可以用cast转换SELECT mk.apkdowncount,CAST(mk.apkintrocuce AS char) as apkintrocuce from marketdeviceapkinfo mk LIMIT 0,2;这样导出就不是乱码了原创 2016-07-20 11:03:19 · 3511 阅读 · 0 评论 -
mysql中timestamp,datetime类型的区别与优劣
datetime1. 占用8个字节2. 允许为空值,可以自定义值,系统不会自动修改其值。3. 实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)4. 与时区无关(It has nothing to deal with the TIMEZONE a原创 2016-08-04 16:22:54 · 4051 阅读 · 0 评论 -
在原最大分区基础上再增加分区方法
CREATE TABLE `t_user_worditem_record` ( `id` bigint(25) NOT NULL AUTO_INCREMENT COMMENT '主键值,最大值超过亿', `book_id` int(10) NOT NULL COMMENT '课本id', `lesson_id` int(10) NOT NULL COMMENT '课文id',原创 2017-04-17 17:03:07 · 625 阅读 · 0 评论