初始化数据库表时,报错如下not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs'这个问题可能与不同引擎之间使用的存储格式有关,也可能是排序规则将数据库排序规则从utf8mb4_general_ci 改为utf8_general_ci 后重试,问题解决。
痛苦或幸福,生不带来死不带去
初始化数据库表时,报错如下not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs'这个问题可能与不同引擎之间使用的存储格式有关,也可能是排序规则将数据库排序规则从utf8mb4_general_ci 改为utf8_general_ci 后重试,问题解决。
MySQL在进行alter table等DDL操作时,有时会出现Waiting for table metadata lock的等待场景。而且,一旦alter table TableA的操作停滞在Waiting for table metadata lock的状态,后续对TableA的任何操作(包括读)都无法进行,因为他们也会在Opening tables的阶段进入到Waiting for ...
DBA们都知道很多关于MySQL Server相关的优化技巧,比如:MySQL参数配置优化、MySQL的SQL语句优化、MySQL的schema设计优化等。但却往往对运行MySQL的操作系统和硬件优化有所忽略,因为很多时候都是SA在干操作系统和硬件相关的工作。本文从Linux操作系统和服务器硬件的角度来说下关于MySQL的优化技巧,如果在MySQL Server安装部署运行之前,就已经实施了...
一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制线程只有一个sql thread用于binlog的apply,所以难怪slave在高并发时会远落后master。ORACLE MySQL 5.6版本开始支持多线程复制,配置选项 slave_pa...
从MySQL5.5开始,MySQL以插件的形式支持半同步复制。如何理解半同步呢?首先我们来看看异步,全同步的概念一、异步、全同步和半同步的概念1.1 异步复制(Asynchronous replication)MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务...
LOG_FILE="/etc/openvpn/openvpn_pw.log" TIME_STAMP=`date "+%Y-%m-%d %T"` CORRECT_PASSWORD=`/usr/bin/mysql -uopenvpn -popenvpn -h10.10.10.10 openvpn -e "select password from...
什么是事务?事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。程序和事务是两个不同的概念。一般而言:一段程序中可能包含多个事务。(说白了就是几步的数据库操作而构成的逻辑执行单元)事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性也简称ACID性。原...
编译参数cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOL...
问题:一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常。MySQL的权限设置正确,且通过mysql命令行客户端可以正常连接数据库。分析:这是典型的socket没有正确设置的情况。连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分...
导语:当一个sql查询语句被写出来之后,其实你的工作只完成了一小半,接下来更重要的工作是评估你自己写的sql的质量与效率。mysql为我们提供了很有用的辅助武器explain,它向我们展示了mysql接收到一条sql语句的执行计划。根据explain返回的结果我们便可以知道我们的sql写的怎么样,是否会造成查询瓶颈,同时根据结果不断的修改调整查询语句,从而完成sql优化的过程。虽然 expl...