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服务...
mysqld_multi安装多个mysql实例
一个机器上安装多个mysql实例,除了将每个实例在不同的目录下编译安装,为每个实例指定不同的端口,socket,配置文件,安装目录等。还可以使用mysqld_multi方式。mysqld_multi是mysql设计的专门用来管理不同端口,不同socket的mysql实例的工具。它可以同时启动,停止多个mysql实例,也可以查看这些实例的状态。my...
mysql中的时间函数
获得当前日期+时间(date + time)函数:now(),sysdate()区别如下:MySQL 获得当前时间函数:current_timestamp, current_timestamp(), current_time, current_time(), current_date, current_date()如下:MySQL 日期/时间转换为字符串函数:date_format(date,format),time_format(time,format)如...
mysql监控:zabbix上自定义key
如何在zabbix中自定义key,并使用它。 Zabbix是一个开源的,免费的监控工具。它有很多自带的默认的监控选项。但是有时候,自带的监控选项是不够用的。这个时候,就需要自己自定义监控选项。我自己写了几个监控选项,分别用来监控mysql的状态,mysql主从复制的状态,mysql主从复制的时间差。 1、 打开zabbix agent...
mysql执行sql脚本报错ERROR 1366 (HY000) 解决
mysql执行sql脚本是有两种方式:方式1:在控制台下,进入mysql的bin目录,mysql -u user -p"password" -P 3308 -D testdb source d:\test\test.sql或 Mysql>\. ...
mysql之MHA
写得很好的一篇blog,先记录一下:http://www.cnblogs.com/gomysql/p/3675429.html
mysql binlog详细介绍
Mysql binlog详解1、 mysql binlog的类型:mysql的binlog按照生成方式,可以分为三种,分别是:1)基于记录的复制RBR(Row Based Replication) 或/*!50530SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;#at 4BINLOG'AAAA...
mysql的各种日志
mysql错误日志:错误日志记录的事件:a)、服务器启动关闭过程中的信息b)、服务器运行过程中的错误信息c)、事件调试器运行一个事件时间生的信息d)、在从服务器上启动从服务器进程时产生的信息log_error参数指定错误日志存放路径以及文件名。如果不指定文件,默认文件名是[host_name].err,保存路...
mysql的show processlist
mysql>show processlist;show processlist;只列出前100条,用showfull processlist;可以展示所有的会话。id列,一个标识,在kill一个语句的时候很有用。user列,显示当前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。host列,显示这个语句是从哪个ip的哪个端口上发出的。可以用来...
mysql按表备份脚本
有两个版本,分别是linux和windows环境下的。我不会python,其实用python会简单得多,python可以跨平台的。linux平台的版本是来自于君三思的:==========================================================LINUX Shell脚本===============================================================#more /data/mysql...
mysql用户和权限
用户的创建方法一:create user lxm;set password for lxm=PASSWORD('123456');alter user lxm password expire; 设置用户密码过期。select user, host, password from mysql.user; 查询账号信息方法二:在授权时会默然创建用户grant select on test.table1 to lxm@192.168.2.154 identified by '123456';方...
mysqldump导入存储过程和其注释
mysqldump导出存储过程时,会有注释的。但是在用mysql命令导入时,如果不加说明,注释会自动过滤掉。为了连同注释一起导入进去,可以添加--comment参数。例子:导出存储过程:if %time:~0,2% lss 10 (set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_0%time:~1,1%)else (set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_%...
mysql引擎笔记整理
查看当前的mysql数据库都支持什么样的存储引擎:mysql> show engines;ERROR 2006 (HY000): MySQL server has gone awayNo connection. Trying to reconnect...Connection id: ? ?170700Current database: *** NONE ***+--------------------+---------+--------------------------------------------------...
XtraBackup部分备份
可以使用Xtrabackup工具仅仅对某几张表进行数据恢复。实验场景: 端口3306的实例上有一张表t3,而端口3308的实例上没有。实验目的将端口3306的t3表恢复到端口3308的实例上。步骤:1、确保端口3306的实例的配置文件my.cnf中有设置如下参数: InnoDB_FAST_S...
XtraBackup的增量备份
实验场景:两个mysql实例,一个端口为3306,一个端口为3307。现在要在3306上做增量备份,并将备份恢复到3307上去。备份:1、0级备份innobackupex --default-file=/usr/local/mysql/my.cnf --user=root --password=root --socket=/usr/local/mysql/mysql.sock /tmp/backup/zero --no-timestamp --para...