innodb next-key lock引发的死锁现象分析
这个例子是我在网上看到的,我分析了很久才弄明白锁产生的具体过程。数据库的事务隔离级别是RR。建测试表:CREATE TABLE `LockTest` ( `order_id` varchar(20) NOT NULL, `id` bigint(20) NOT NULL AUTO_INCREMENT, &nb...
mysql字符转化以及乱码原因
mysql中存入数据时发生的编码转换过程:1、在终端(Terminal,可以是bash窗口,也可以是客户端工具如navicat)中输入,输入的内容由Terminal根据其自己的字符进行编码。2、经Terminal编码后的二进制流被传输到mysql server。mysql server(mysql engine)根据参数character_set_client的字符设置来对该二进制流进行解码。3、...
mysql锁以及锁信息查看
mysql中有以下几类锁:共享锁/排他锁意向锁,该锁是表级别的记录锁Gap 锁Next-Key锁自增锁地理索引的Predicate锁。mysql 中有几张系统表是关于锁信息的:INFORMATION_SCHEMA.INNODB_TRX:记录了所有在INNODB引擎上执行的事务信息。INFORMATION_SCHEMA.INNODB_LOCKS:记录了每个事务上的锁的信息。INFORMATION_...
Linux下mysql的历史操作记录
在linux下,mysql的每一步操作是会默认被记录到当前操作系统用户下的.mysql_history文件中去的。这个文件不会记录操作的时间,只记录操作命令,包括用户创建,授权,密码更改等,均是明文记录。一般情况下,出于安全考虑,会将这个文件清空,避免信息泄露。 实验步骤: 1、 进入mysql服务,随便输入几行命令: ...
mysql的root用户无法给普通用户授权问题处理
先看错误现象:很奇怪,root用户应该不可能无法授权普通用户。看提示像是说密码错误。但是实际上密码没有问题。决定去看看mysql.user表中root@localhost这个用户的权限是怎么样的。在mysql.user表中记录了与全局相关的权限信息。这个全局权限不是指拥有所有的权限,它具体指的是拥有该MYSQL服务器所有数据库对象的权限。...
Windows下Mysql5.6升级到5.7
Windows下Mysql5.6升级到5.7 Mysql的升级方式分为两种:原地升级和逻辑升级。这两种升级方式,在本质上是没有什么区别的。只是在对数据文件的处理上有区别而已:原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑导出导入,需要用到mysqldump。 原地升级: 1、 在现有的mysql服务...