MySQL数据库乱码解决方案
还是最近的这个Java Web项目,在本机运行好好的,一到服务器就出现了中文乱码的问题。虽然感觉很奇怪,但是还是顺着思路一步一步给解决了。解决的思路如下。 查看Java Web项目中接收的中文是否乱码有一个业务逻辑就是要获取浏览器输入的中文,在处理中文输入的地方加上一句输出语句可以看到日志中记录如下: 122018-03-28 11:26:33 [INFO] - org.springframewo
还是最近的这个Java Web项目,在本机运行好好的,一到服务器就出现了中文乱码的问题。虽然感觉很奇怪,但是还是顺着思路一步一步给解决了。解决的思路如下。 查看Java Web项目中接收的中文是否乱码有一个业务逻辑就是要获取浏览器输入的中文,在处理中文输入的地方加上一句输出语句可以看到日志中记录如下: 122018-03-28 11:26:33 [INFO] - org.springframewo
在网上着了一些方法,但是大多都不是很全,这里转载一篇文章,有各种方式的MySQL在CentOS下面的重启方式,推荐。 通过rpm包安装的MySQL12$ service mysqld restart$ /etc/inint.d/mysqld start 从源码包安装的MySQL12345# linux关闭MySQL的命令$ $mysql_dir/bin/mysqladmin -uroot -p s
今天利用MySQL导入数据的时候发生了一个错误,报错的信息是“MySQL server has gone away”。这个如何解决呢?我先说说我的工具,我导入数据使用的是Navicat Premium 12.0.13,然后MySQL使用的是Homebrew安装的。 写这篇文章目的主要是记录一下这个问题的解决方案,以免以后重蹈覆辙。其实答案很简单,就是调整MySQL一个配置项max_allowed_
锁的代价前面一节讲到过死锁,以及事务型数据库中需要经常地检测死锁的问题,提出的对应解决方案就是使用行级锁,将需要锁定的行锁定起来。那么,这里就不得不说到锁的代价了,其实锁定一行的代价还是很高的,因为它对其它事务来说就是在短期内不可用的了,这对数据库的吞吐量来说是极大的损害! 那么有没有什么方法能有效地减少锁的的创建呢?这就是我们接下来要介绍的MVCC啦。MVCC其实是行级锁的一个变种,但是很多情况
死锁本文聊一聊事务中的死锁现象。死锁的定义是什么?死锁是指两个或者多个事务在同一个资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环的现象。当多个事务试图以不同的顺序锁定相同的资源时,就很容易产生死锁。或者是多个事务同时锁定某一个相同的资源时,也非常容易产生死锁哦! StockPrice表实例分析假设现在有两个事务同时针对StockPrice表进行相关的操作,如下: 事务一: 1234ST
事务概念回顾这里再回顾一下事务的概念:事务一组原子性的SQL查询。事务处理系统一般包括四个特性ACID(原子性Atomicity,一致性Consistency,隔离性Isolation以及持久性Durability)。今天重点聊一聊这里面的隔离性Isolation。 隔离级别隔离性远比想象的要复杂很多,因为涉及到系统各个事务之间的数据更新操作可见性。一般来说,隔离级别会分为四种: READ UN
事务先说说什么是事务?不同的同学对这个概念有很多不同的理解。我以前对事务就有很长时间的不理解,单纯认为事务是一件很复杂的事情,到底多复杂,我也不清楚,总之就是需要处理各种操作的事情。现在给出一个比较准确的定义哈,数据库中的事务就是指一组原子性的SQL查询,或者说一个独立的工作单元。这句话怎么理解呢?你一共要执行一些SQL语句去完成某个操作对吧,但是完成的过程当中,执行到一半的时候,某个语句失败了,
无论什么时候,只要有多个查询需要同一时刻修改数据,都会产生并发控制问题。关于并发控制的问题,我们将会介绍一个新的概念-锁。我们在多线程编程中会经常使用锁来进行并发控制。那么,MySQL针对并发控制做了哪些努力呢?或者说,MySQL的锁粒度主要是哪几种呢? 锁粒度一种提高共享资源并发性的方式就是让锁定对象更有选择性。尽量只锁定需要修改的部分数据,而不是所有的资源。为什么这样呢?我们都知道,一旦锁定了
众所周知,MySQL是一款非常优秀的开源数据库,根据最新的DB-Engines(https://db-engines.com/en/ranking)排名来看,MySQL使用量已经跃居第二了。和Oracle以及Microsoft SQL Server一起稳稳地占据着前三名的绝对地位。不过我们也应该关注另一个发展迅猛的数据库就是PostgreSQL,不过在这个系列里面我们就不聊PostgreSQL啦。