LinkNemo

  • Nemo

    mysql插入emoji表情异常: java.sql.SQLException: Incorrect string value: '\xE6\x98' for column

    首先,看到这个问题大致推测应该是字符编码的原因。查了下资料,了解到UTF-8编码有可能是两个、三个、四个字节,而emoji或者某些特殊符号则占用四个字节。mysql中的utf-8编码最多存储却为三个字节。所以导致了该异常:java.sql.SQLException:Incorrectstringvalue:'\xE6\x98\x88\xE8\xAE\xA152'forcolumn大概mysql的utf8编码最大存储3个字节是为了节省空间吧,这里还没有做考证。了解到mysql中提供了存储4个字节的utf8编码格式:utf8mb4,所以问题可以降级为修改数据库一类的编码即可。1、数据库的编码修改为......
    2018/11/15 10:28:26发表 17赏阅 0点评
  • Nemo

    mysql binlog关闭/清理

    mysql的binlog是用来记录所有操作日志,以便在数据丢失或者其它情况下用来完整恢复数据。但是,如果操作量较大,那么binlog的文件也会比较大,一些情况下可能会大量占用磁盘空间。这里提到的是单机的情况下,集群情况下暂不涉及。清理:登录mysql指令界面,输入resetmaster;这时候再到mysql的data目录,即可发现binlog文件都清理完了。关闭:找到mysql的配置文件,my.cnf,找到log-bin=mysql-binbinlog_format=mixed在前面加上#,注释掉即可,然后重启mysql服务即可。查看logbin状态:登录mysql指令界面,输入:mysql&......
    2018/11/09 16:09:00发表 19赏阅 0点评
  • Nemo

    MySql 数据库导入"Unknown command '\n'."错误解决办法

    从备份文件恢复数据的时候出现这么一个情况。sourceF:\cynthia.sql提示:Unknowncommand'\n'推测是字符集的原因。备份文件是utf-8字符集,本地数据库则不清楚。查看my.ini发现并没有指定。那么就简单处理下好了:mysql-uroot-p--default-character-set=utf8连接数据库的时候设定下字符编码,重新导入,问题即解决。
    2018/11/09 16:01:07发表 23赏阅 0点评
  • Nemo

    MySQL mysqldump数据导出详解

    介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。 语法:默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表。Usage:mysqldump[OPTIONS]database[tables]ORmysqldump[OPTIONS]--databases[OPTIONS]DB1[DB2DB3...]ORmysqldump[OPTIONS]--all-d......
    2018/08/29 18:20:36发表 169赏阅 0点评
  • 随遇而安

    MySQL的变量分类总结

    原文出处:潇湘隐者在MySQL中,my.cnf是参数文件(OptionFiles),类似于ORACLE数据库中的spfile、pfile参数文件,照理说,参数文件my.cnf中的都是系统参数(这种称呼比较符合思维习惯),但是官方又称呼其为系统变量(systemvariables),那么到底这个叫系统参数或系统变量(systemvariables)呢?这个曾经是一个让我很纠结的问题,因为MySQL中有各种类型的变量,有时候语言就是这么博大精深;相信很多人也对这个问题或多或少有点困惑。其实抛开这些名词,它们就是同一个事情(东西),不管你叫它系统变量(systemvariables)或系统参数都可,......
    2018/05/31 11:23:17发表 288赏阅 0点评
  • Nemo

    Mysql Join语法以及性能优化

    阅读目录(Content)引言一.Join语法概述   JOIN功能分类二.Innerjoin三.Leftjoin四.Rightjoin五.Crossjoin六.Fulljoin七.性能优化   1.显示(explicit)innerjoinVS隐式(implicit)innerjoin   2.leftjoin/rightjoinVSinnerjoin         2.1on与where的执行顺序 &......
    2018/05/08 10:21:58发表 2494赏阅 0点评
  • 随遇而安

    MySQL ERROR 1050 (42S01): Table xxx already exists

    原文出处:潇湘隐者今天遇到一个关于MySQL求助的问题,修改表结构时遇到“ERROR1050(42S01):tablexxxalreadyexits”mysql>ALTERTABLEDAY_BOOK_REPORTADDUNIT_PRICE_PCSDOUBLE(12,2)DEFAULTNULL;ERROR1050(42S01):TABLE'INVGSP/#SQL-IB379'ALREADYEXISTSmysql>检查了后,发现表DAY_BOOK_REPORT确实不存在字段UNIT_PRICE_PCS,但是给表加字段时就报这个错误,遂咨询了一下他具体的操作过程,反馈是当时在做大量数据更......
    2018/04/11 17:57:11发表 121赏阅 0点评
  • CODY

    mysql安装简介之一

    1linux环境mysql安装运行1.1下载案例在/usr/local/src,下载msqlwgethttp://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar1.2安装在/usr/local/src创建mysql-install.sh,并运行#!/bin/bashmkdir/usr/local/mysqltar-xvfmysql-5.7.14-1.el7.x86_64.rpm-bundle.tar-C/usr/local/mysqlcd/usr/local/mysql&&am......
    2018/03/30 18:18:32发表 378赏阅 0点评
  • 随遇而安

    MySQL 系统变量配置基础(转载)

    原文出处:MSSQL123MySQL变量的概念个人认为可以理解成MySQL在启动或者运行过程中读取的一些参数问题,利用这些参数来启动服务、响应或者支持用户的请求等变量的配置如果打算长期使用,应该写入配置文件,而不是在命中指定,因为在命中设置的变量会随着MySQL服务的重启而恢复默认值另外要注意是设置的当前Session的变量还是全局的变量。变量单位不同的变量的单位不同,比如table_cache是指缓存的表的个数,而key_buffer_size则是以字节为单位另外还有以页或者百分比为单位的变量许多变量可以通过后缀制订单位,比如1M表示一百万字节,在配置文件中或者在命令行下有效,但是在使用se......
    2018/03/12 19:21:57发表 172赏阅 0点评
  • Nemo

    MYSQl 数据库系统用户表加密方式

    MySQL4.1版本之前是MySQL323加密,MySQL4.1和之后的版本都是MySQLSHA1加密。MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。(1)以MySQL323方式加密       select  old_password('2333333');(2)以MySQLSHA1方式加密      ......
    2018/02/09 10:22:01发表 329赏阅 0点评
  • 随遇而安

    记一次 MySQL 删库的数据恢复(转载)

    原文出处:赖勇浩昨天因为不可描述的原因,数据库直接被 dropdatabase删除。在第一时间停止数据库服务和Web服务,备份MySQL数据目录下的所有文件之后,开始走上数据恢复之路。第一次干这种事,各种不得法。因为我们既没有备份,也没有开启binlog,连innodb_file_per_tabe_也没有。一番折腾后向万能的朋友圈求救,朋友给了两个链接,最终救了一下命。以下先按编号记下URL,后续引用之。http://dba.stackexchange.com/questions/23251/is-there-a-way-to-recover-a-dropped-mysql-data......
    2018/02/05 11:11:16发表 147赏阅 0点评
  • Nemo

    Mysql执行查询的原理【转载】

    可以用一张网上找的图片来描述:从图中可以看出基本步骤为:1、客户端发送一条查询给服务器。2、服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3、服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划4、MySql根据优化器生成的执行计划,调用存储引擎的API执行查询。5、返回结果给客户端。MySQL客户端/服务器通信协议MySQL客户端和服务器之间的通信协议是“半双工”的,这意味着,在任何野时刻,要么是由服务器向客户端发送数据,要么是客户端向服务器发送数据,这两个动作不能同时执行。所以,我们无法也无须将也消息切成小块独立来发送。这种协议让MySQL通......
    2018/01/16 14:56:06发表 172赏阅 0点评
  • Nemo

    MySQL索引背后的数据结构及算法原理【转载】

    最近在研究索引的算法以及数据结构一类的东西。看完这篇文章后,收获颇多。另外推荐下CodingLabs这个博客,在看了这篇文章后,我陆陆续续浏览了上面的一些其他文章,干货不少,而且作者本身也非常牛逼~原文地址:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTr......
    2018/01/11 14:34:24发表 258赏阅 0点评
  • Nemo

    Mysql 基础架构分析

    MySQL从概念上可以分为四层。从上到下分别为:接入层、服务层、存储引擎层、系统文件层。接入层:不同语言的客户端通过mysql的协议与mysql服务器进行连接通信,接入层进行权限验证、连接池管理、线程管理等。服务层:包括sql解析器、sql优化器、数据缓冲、缓存等。存储引擎层:mysql中存储引擎是基于表的。系统文件层:保存数据、索引、日志等。贴个图:
    2017/12/25 16:56:57发表 287赏阅 0点评
  • Nemo

    MySQL字符集

    utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。utf8_general_ci校对速度快,但准确度稍差。utf8_unicode_ci准确度高,但校对速度稍慢。如果应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。一般用utf8_general_ci就够了,到现在也没发现问题。。。1、对于一种语言仅当使用utf8_unicode_ci排序做的不好时,才执行与具体语言相关的utf8字符集校对规则。例如,对于德语和法语,utf8_unicode_ci工作的很好,因此不再需要为这两种语言创建特殊的utf8校对规则。2、utf8_gener......
    2017/11/07 14:15:35发表 303赏阅 0点评
  • Nemo

    MySQL CHAR VARCHAR 字段长度

    参见https://dev.mysql.com/doc/refman/5.6/en/char.html以上是针对MySQL5.6版本,不保证之前的版本也有同样的行为。总结一下:建表时定义的CHAR(n)和VARCHAR(n)是指定该字段能储存的最大字符(而不是字节)。既然是字符,当然不同字符集会占用不同的存储空间,如果是字符集是latin1,1个字符对应1个字节,如果字符集是utf8,则一个字符对应3个字节,以此类推。CHAR类型的字段可指定长度为0-255。VARCHAR类型的字段可指定长度为0-65535。整个表的CHAR/VARCHAR字段长度之和不能超过65535字节。
    2017/11/07 14:12:00发表 306赏阅 0点评

最新点击

热门人物

热门标签

回到顶部