mysql
huangliang0703
这个作者很懒,什么都没留下…
展开
-
关于MySQL insert into ... select 的锁情况
总结:在REPEATABLE-READ 隔离级别下:1、 通过主键排序或则不加排序字段的导入操作"insert into tb select * from tbx",是会锁tbx表,但他的锁是逐步地锁定已经扫描过的记录。 2、通过非主键排序的导入操作"insert into tb select * from tbx",是会锁tbx表,但他的锁是一开始就会锁定整张表在 READ-...转载 2020-03-09 15:43:40 · 358 阅读 · 0 评论 -
MySQL:Innodb page clean 线程
文章来自:https://www.jianshu.com/p/6991304a8e26一、page clean线程概念Innodb中page clean线程将脏数据写入到磁盘,脏数据写盘后相应的redo就可以覆盖,然后达到redo循环使用的目的。在5.7中参数可以开启多个page clean线程服务于多个innodb buffer实例如下: The innodb_page_...转载 2020-03-06 15:41:51 · 444 阅读 · 0 评论 -
Slave failed to initialize relay log info structure from the repository
同事反应,重启备库后后,复制相关进程起不来: Replicate_Wild_Ignore_Table: Last_Errno: 1872 Last_Error: Slave failed to initialize relay log info structure from the repository ...原创 2018-07-30 17:10:57 · 740 阅读 · 0 评论 -
Mycat+Mysql 插入数据报错 [Err] 1064 - partition table, insert must provide ColumnList
插入数据时报错:mysql> insert into test values(1);ERROR 1064 (HY000): insert must provide ColumnList提供完整的列名,问题得到解决:mysql> insert into test(id) values(1111);Query OK, 1 row affected (0.01 sec)...原创 2018-07-30 13:45:34 · 1639 阅读 · 0 评论 -
mysql 5.7 在线ddl
文章来自:https://www.cnblogs.com/beef/p/7376035.html 1、MySQL各版本,对于DDL的处理方式是不同的,主要有三种: ①:Copy Table方式: 这是InnoDB最早支持的方式。顾名思义,通过临时表拷贝的方式实现的。新建一个带有新结构的临时表,将原表数据全部拷贝到临 时表,然后Rename,完成...转载 2018-07-20 14:43:14 · 680 阅读 · 0 评论 -
innodb_print_all_deadlocks
当mysql 数据库发生死锁时, innodb status 里面会记录最后一次死锁的相关信息,但mysql 错误日志里面不会记录死锁相关信息,要想记录,启动 innodb_print_all_deadlocks 参数 mysql> show variables like 'innodb_print_all_deadlocks';+----------------------------...原创 2018-07-13 13:07:24 · 3696 阅读 · 0 评论 -
批量删除数据----limit
执行计划:mysql> explain delete from drp_pftzd where id in (select id from drp_pftzdbak) limit 1000\G*************************** 1. row *************************** id: 1 select_type: ...原创 2018-07-24 10:31:19 · 1200 阅读 · 0 评论 -
mysql 8.0 新特性:NOWAIT以及SKIP LOCKED
如新语法的字面含义,NOWAIT表示当无法获取到锁时直接返回错误,而不是等待;SKIP LOCKED表示忽略那些已经被其他session占有行锁的记录。下面看测试: 测试 一session 1 :mysql> select * from t;+----+| a |+----+| 42 || 43 || 44 || 46 |+----+4 rows in ...原创 2018-07-23 17:11:18 · 1949 阅读 · 0 评论 -
mysqlbinlog 加-v -vv 的区别
先看命令帮组解释: -v, --verbose Reconstruct pseudo-SQL statements out of row events. --显示sql 语句-vv Reconstruct pseudo-SQL statements out of row events. adds comments on column data types.--显示sql 语句加 ...原创 2018-07-05 11:23:15 · 6382 阅读 · 0 评论 -
tokudb 安装
一、从官网下载组合包:Percona-Server-5.7.10-3-r63dafaf-el6-x86_64-bundle.t二、解压之后如下:Percona-Server-57-debuginfo-5.7.10-3.1.el6.x86_64.rpmPercona-Server-client-57-5.7.10-3.1.el6.x86_64.rpmPercona-Server-devel-57-5...原创 2018-07-03 16:50:36 · 411 阅读 · 0 评论 -
mysqlpump 遇到的问题
使用mysqlpump 导出数据时,报了下面的错误,登录数据库,查看用户'zenglijun'@'' 的创建语句,提示没有权限,解决权限问题后,mysqlpump运行正常[root@GLM-EC-DB-S ~]# mysqlpump -uroot --socket=/data/xtraback/mysql.sock --default-parallelism=8 --databases t...原创 2018-07-16 14:13:59 · 1366 阅读 · 0 评论 -
xtrabackup 开启压缩备份并进行恢复
文章来自: https://www.cnblogs.com/dbcloud/p/6127873.html完整备份innobackupex --defaults-file=/etc/my.cnf --host=localhost --user=bkpuser --password=s3cret /data/dbbak/innobackupex/ --no-timestamp --compress -...转载 2018-07-09 14:54:20 · 1579 阅读 · 0 评论 -
MySQL 5.7并行复制
文章来自:MySQL 5.7并行复制初理解我们知道MySQL 5.7并行复制引入了两个值last_committed和sequence_number。last_committed表示事务提交的时候,上次事务提交的编号,在主库上同时提交的事务设置成相同的last_committed。如果事务具有相同的last_committed,表示这些事务都在一组内,可以进行并行的回放。这个机制也是Commit-...转载 2018-06-26 16:57:23 · 202 阅读 · 0 评论 -
删除所有的binlog后mysql 启动不了
删除所有的binlog后mysql 启动不了,查看错误日志,原来是找不到日志文件了,2018-08-17T06:58:33.935452Z 0 [Note] Plugin 'FEDERATED' is disabled.mysqld: File './mysql-bin.000474' not found (Errcode: 2 - No such file or directory)2...原创 2018-08-17 15:16:36 · 2340 阅读 · 0 评论 -
mysql查询条件字段值末尾有空格的处理方法
文章转自:http://www.webyang.net/Html/web/article_335.html摘要:今天在工作过程中遇到了一个很奇怪的mysql查询问题,当作为查询条件的字符串末尾有空格时,可以查到数据库中末尾不含空格的值。经过多次查阅资料,最后找到三种解决的方法,现在分享给大家。比如有这样一个sql语句:select * from table where user=...转载 2019-03-01 16:42:00 · 2866 阅读 · 0 评论 -
reset slave 与 reset slave all
reset slave删除master.info文件和relay-log.info 文件以及所有的relay log 文件并重新启用一个新的relaylog文件,但并不会清理存储于内存中的复制信息比如master host, master port, master user, or master password,也就是说如果没有使用change master 命令做重新定向,执行start sl...原创 2019-04-10 15:21:42 · 3443 阅读 · 0 评论 -
查看 Waiting for table metadata lock 相关信息
mysql 有两个视图记录 metadata_lock 相关 的信息:performance_schema.metadata_lockssys.schema_table_lock_waits但是默认是情况下,即使出现了Waiting for table metadata lock ,两个视图里面也没有任何的记录 。如果想在两个视图中看到相关信息,需要启用相关的设置:p...原创 2019-08-02 14:40:09 · 243 阅读 · 0 评论 -
Slave failed to initialize relay log info structure from the repository
更改了从库的 relaylog 的位置 ,导致从库异常。1、查看mysql.slave_relay_log_info 表,发现中继日志还是指向原来的文件。mysql> select * from mysql.slave_relay_log_info \G*************************** 1. row ***************************...原创 2019-07-23 07:22:17 · 1084 阅读 · 0 评论 -
MySQL5.7新特性——在线收缩undo表空间
文章来自:https://www.linuxidc.com/Linux/2017-05/143400.htm1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2个比较明显的问题:(1)磁盘剩余空间越来越小,到后期往往要...转载 2018-06-20 13:29:10 · 287 阅读 · 0 评论 -
slave_pending_jobs_size_max
自己的复制环境(5.7.10)还没有使用并发复制,所以想尝试一下 :原参数如下:| slave_parallel_type | DATABASE || slave_parallel_workers | 0 |将参数更改如下:| slave_paral...原创 2018-06-26 12:06:07 · 1033 阅读 · 0 评论 -
mysql 中文注释显示乱码
mysql> show create table interflow.reference_cost\G*************************** 1. row *************************** Table: reference_costCreate Table: CREATE TABLE `reference_cost` ( `...原创 2019-06-11 17:36:40 · 7518 阅读 · 1 评论 -
ERROR 1138 (22004): Invalid use of NULL value
今天在做一个变更时,遇到了以下错误:ERROR 1138 (22004): Invalid use of NULL value现在对情况进行还原:创建表test1 :mysql> create table test1 (id int,b varchar(10) DEFAULT null ,c varchar(10)); Query OK, 0 rows...原创 2019-06-20 11:55:27 · 825 阅读 · 0 评论 -
SQL_Errno:1677
今天一个从库报错 :SQL_Errno:1677 。对比发现主从上该表对应的字段完全一样 ,唯一的不同就是主库上该表的字符集为 UTF-8 ,从库上该表的字符集为utf8mb4。将从库上该表的字符集改成 UTF-8 ,从库正常运行。...原创 2019-04-30 10:39:45 · 237 阅读 · 0 评论 -
ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function
mysql 中创建分区表的时候报 :ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning functionmysql> CREATE TABLE `lsxhdddmx0499` ( -> `id` bigint(20) NOT NULL AUTO_...原创 2019-04-22 11:28:02 · 3332 阅读 · 0 评论 -
mysql binlog 日志
一、日志的开启、关闭日志的开启和关闭由 log_bin 参数控制,必须配置文件中配置,如果需要关闭日志,在参数文件中注释掉该参数。例如,参数文件中配置:log_bin = /mysqldata/mysql_data/binlog/mysql-bin --log_bin 与log-bin 都可以登录mysql,查看变量:mysql> show variables ...原创 2019-04-02 11:39:23 · 80 阅读 · 0 评论 -
mysqldump 导致 Waiting for table metadata lock
用mysqldump 做个备份来搭建从库,接到业务人员反映,系统卡住了 ,执行命令:select * from information_schema.processlist where db='semir_33'\G 查看进程,发现有Waiting for table metadata lock:*************************** 17. row **********...原创 2019-04-01 16:49:53 · 943 阅读 · 0 评论 -
Got an error/timeout reading communication packets
一、数据库日志里面经常出现下面的信息:Got an error reading communication packets : 一般连接异常中断时会出现下面的信息(kill 连接)Got an timeout reading communication packets :会话长时间没有活动,超过最大的阈值时,抛出这错误(没有模拟出来)2018-06-25T18:45:51.587445Z 1230...原创 2018-06-26 14:18:35 · 3592 阅读 · 0 评论 -
binlog-row-event-max-size
对于参数 :binlog-row-event-max-size ,先看官方解释:默认值是8192 PropertyValueCommand-Line Format--binlog-row-event-max-size=#Type (64-bit platforms)integerType (32-bit platforms)integerDefault Value (64-bit platform...原创 2018-06-15 18:18:32 · 2601 阅读 · 0 评论 -
max_allowed_packet 测试
一直感觉对 max_allowed_packet 的含义不是很了解,通过今天实验,感觉该值是限制单个列的大小,下面我们看实验,max_allowed_packet 为1024,mysql> show variables like 'max_allowed%';+--------------------+-------+| Variable_name | Value |+---...原创 2018-06-15 16:35:34 · 942 阅读 · 1 评论 -
[ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
/usr/sbin/mysqld -u root stop使用以上命令关闭测试环境中的mysql ,报下面的错误:[ERROR] InnoDB: Unable to lock ./ibdata1, error: 11[Note] InnoDB: Check that you do not already have another mysqld process using the sa原创 2016-11-02 10:32:21 · 6641 阅读 · 1 评论 -
mysql ERROR 2005,1130
今天远程连接mysql 数据库的时候报了下面的错误,-bash-4.1$ ./mysql -hcl1 -ubackup -pbackupmysql: [Warning] Using a password on the command line interface can be insecure.ERROR 2005 (HY000): Unknown MySQL server host原创 2016-11-08 19:59:04 · 936 阅读 · 0 评论 -
Mysql5.6特性--- DDL online operate
mysql 版本:5.6.21mysql> show create table t_tag;+-------+------------------------------------------------------------------------------------------------------------------------------------------原创 2016-10-27 15:20:15 · 573 阅读 · 0 评论 -
mysqld_safe mysqld from pid file /mysqldata/mysql_data/cl1.pid ended
版本:5.7.16启动命令:./mysqld_safe --user=mysql &报错:mysqld_safe mysqld from pid file /mysqldata/mysql_data/cl1.pid ended2016-11-08T06:29:21.027060-05:00 0 [Note] Starting ack receiver thread2016-1原创 2016-11-08 11:54:34 · 4358 阅读 · 0 评论 -
innodb buffer pool
mysqld重启之后,innodb buffer pool几乎是空的,没有任何的缓存数据。随着sql语句的执行,table中的数据以及index 逐渐被填充到buffer pool里面,之后的查询语句只需要在内存中操作(理想状态下),大幅度提升了mysql的性能。这个逐渐填充的过程可能需要1-2个小时,甚至更久也说不准。在此过程中,mysql性能一般,因为需要大量的硬盘读操作。转载 2016-10-26 14:38:57 · 635 阅读 · 0 评论 -
mysqlbinlog 查看binlog时报错unknown variable ‘default-character-set=utf8‘
今天学习mysql 时,使用mysqlbinlog 查看 二进制日志时报错了:[root@ZJHZ-CMREAD-ZABBIXSQL01-BUS-SD mysql]# mysqlbinlog mysql-bin.000670mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8'原因是mysqlbinl原创 2016-10-16 10:55:14 · 1773 阅读 · 0 评论 -
LAST_INSERT_ID()
文章来自: http://www.cnblogs.com/JohnABC/p/3727068.html第一、查询和插入所使用的Connection对象必须是同一个才可以,否则返回值是不可预料的。使 用这函数向一个给定Connection对象返回的值是该Connection对象产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMENT值的。这个值不能被其它转载 2016-11-03 15:39:57 · 549 阅读 · 0 评论 -
MySQL Profiling 的使用
MySQL 的 Query Profiler 是一个使用非常方便的 Query 诊断分析工具,通过该工具可以获取一条Query 在整个执行过程中多种资源的消耗情况,如 CPU,IO,IPC,SWAP 等,以及发生的 PAGE FAULTS,CONTEXT SWITCHE 等等,同时还能得到该 Query 执行过程中 MySQL 所调用的各个函数在源文件中的位置。1、开启pr原创 2015-11-17 19:01:15 · 446 阅读 · 0 评论 -
mysql 5.7 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executi
搭建slave 库,主库执行:mysql> grant replication slave on *.* to repl@"192.168.40.132" identified by 'root';报 设置了 skip-grant-tables 参数,在配置文件中将该参数注释掉,重启mysql> grant replication slave on *.* to rep原创 2015-11-24 16:41:22 · 16557 阅读 · 2 评论 -
linux 下mysql 5.7.9tar 包安装
1、软件下载登录到 http://dev.mysql.com/downloads/mysql/ ,选择对应的版本进行下载。原创 2015-11-19 23:33:00 · 5541 阅读 · 0 评论 -
忘记了mysql登陆密码
忘记了mysql 用户的登录密码,登录是报错[mysql@localhost ~]$ mysql -u root -pEnter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)解决办法,设置一个参数不需要密码登录,修改 mysql 的配置原创 2015-11-23 15:16:39 · 582 阅读 · 0 评论