MySQL GROUP BY分组取字段最大值
假设有一个业务场景,需要查询用户登录记录信息,其中表结构如下:CREATE TABLE `tb` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `ip` varchar(16) NOT NULL, `login_time` datetime,&...
MySQL5.6 -> MySQL5.7 跨版本多源复制(Multi-Source Replication)
MySQL 5.6 -> MySQL 5.7跨版本多源复制
可能需要被干掉的.mysql_history文件
该文件默认名为.mysql_history,存放在~/.mysql_history中,包含了"IDENTIFIED BY"、"SET PASSWORD"等语句都会被记录到该"histroy file",极不安全。如果需要关闭,可以修改用户的MYSQL_HISTFILE环境变量到/dev/null,或者建立一个软连接两种方法:export MYSQL_HISTFILE=/dev/null②ln -s /dev/null $HOME/.mysql_h...
【MySQL】AppArmor导致datadir迁移无法启动&初始化失败
【问题描述】:行为:通过apt-get在一台ubuntu的机子上新装一个mysql做本地日志存储,由于默认datadir在/var/lib/mysql下,所以准备重新初始化datadir:mysql_install_db --user=mysql --datadir=/data/mysql_data --basedir=/usr报错如下:160902 15:25:41 [Note] /usr/sbin/mysqld (mysqld ...
MySQL误删root用户恢复一例
这是一个真实又蛋疼的事情:一个朋友在领导要求他删除root@127.0.0.1,root@'%'等用户,只保留root@localhost时,他写了一条类似delete from mysql.user where user='root'的命令……注意,他并没有写 “and host=”的条件,导致悲剧发生,并且还flush了授权。以下模拟误删操作,尝试做恢复:MySQL版本:MySQL 5.5....
【MySQL】5.6.x sha256_password插件登入用户时报错
【问题描述】:版本:Oracle MySQL 5.6.30:添加default-authentication-plugin=sha256_password启动参数启动数据库:mysqld_safe --default-authentication-plugin=sha256_password &或在[mysqld]中设置default-authentication-plugin=sha256_password,并启动数据库。查看一下old_passwor...
【MySQL】ERROR 1175 安全模式UPDATE/DELETE操作失败
【问题描述】:在做某些update 或者 delete操作时,会报错:ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column大致意思是,使用了安全模式下,尝试使用update(delete)操作表时,没有在where条件里写有key的列。比如,某张表有两个字段...
【Redis】Redis 2.8.x 源码安装、配置
【安装&初始化安装】〇 安装依赖yum install -y tcl gcc gcc-c++〇 获取源码包、编译安装、检查安装wget http://download.redis.io/releases/redis-2.8.24.tar.gztar xzvf redis-2.8.24.tar.gzcd redis-2.8.24make && make installcd src && make tes...
MySQL 中间件Atlas 实现读写分离
Atlas是Qihoo360开发的一个中间件,位于Client和MySQL Server中间层,可以作为读写分离,分库分表中间件。〇 实验结构Atlas:192.168.1.185 并在主从库上建立两个用户:GRANT SELECT, UPDATE, INSERT, DELETE ON *.* TO rw@192.168.1.185 IDENTIFIED BY 'root'; 从库:SELECT** ro1921681185 IDE...
【MySQL】Slave can not handle replication events with the checksum ...
[ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configured to log;
【MySQL】5.6.x InnoDB Error Table mysql.innodb_table_stats not found
【问题描述】:检查error log的时候发现大量warnings:[Warning] InnoDB Error Table mysql.innodb_index_stats not found[Warning] InnoDB Error Table mysql.innodb_table_stats not found[Warning] InnoDB Error Table mysql.slave_master_info not found[Warning] InnoDB Error Table mysql.sla...
MySQL 5.7 源码安装、Yum仓库安装、RPM安装、二进制安装
实验平台:CentOS 6.5 mysql版本:5.7.11 社区版①源码安装安装依赖yum install -y cmake gcc gcc-c++ bison automake ncurses-devel与之前版本不同的是,5.7编译源码安装需要依赖boost 1.59可以手动去http://www.boost.org/users/history/version_1_59_0.html下载在linux中:wget ...
【MySQL】Host is blocked because of many connection errors
【问题描述】:应用服务器那边发现连不到数据库,查看日志发现报错:selectSQL get mysql connection failed, err:Error: ER_HOST_IS_BLOCKED Host 'xx.xx.xx.xx' is blocked because of many connection errors ……【过程】:进到mysql-client里一看,发现是5.5的版本,跑了一下SELECT count(*) FRO...
MySQL 5.7 初始密码和密码复杂度问题
〇 环境:CentOS 6.5 64bitmysql-server版本:5.7.11〇 背景:mysql 5.7以后,安全性大幅度上升,用习惯了老版本的用户刚使用会有一些不适。如,默认安装后初始密码不为空;或找不到初始密码在哪;再比如,设置新密码会报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirem...
sync_binlog和innodb_flush_log_at_trx_commit解析
sync_binlog:其值默认为0,范围为0~4294967295(mysql 5.6)〇 为0时,即mysqld不去控制磁盘的同步,而是等待操作系统的fdatasync从内存flush到磁盘。(与操作系统同步)〇 最安全的设置为1,在开启了autocommit的情况下,如果mysqld或者os此时crash掉,会至多遗失一个事务。(同时也是最慢的设置)〇 当值...
【MySQL】Server-id导致Slave_IO_Running: No主从复制故障
【问题描述】:在master停机维护启动服务之后,slave的Slave_IO_Running状态被置为NOSlave_SQL_Running为Yes,猜测应该是master的锅继续检查网络,权限等问题之后仍然为不可用也尝试重新change master to master_log_file = 'master-bin.034555',master_log_pos = 98;依旧不可用mysql> SHOW S...
【MySQL】老版本mysql奇怪的报错:ERROR 1046 (3D000): No database selected(BUG)
开发给到一条sql,要对项目的各个库做批量的update,写在脚本里之后,执行时发现失败,报错ERROR 1046 (3D000): No database selected,发现有指定库名,产生疑问。确定已经指定库名之后,然后改写成select做了查询,发现依然报这个错。再细看sql,发现unhex函数的写法不严谨,即括号没有紧跟,也就是说,需要用unhe...
MySQL SQL实现上下行相加减
MySQL 上下行相加减
MySQL index hints 使用
官方提供的基础语法:index_hint: USE {INDEX|KEY} [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list]) | IGNORE {INDEX|KEY} [FOR {JOIN|ORDER BY|GROUP BY}] (index_list) | FORCE {INDEX|KEY} [FOR {JOIN|ORDER BY|GROUP BY...
【pt系列】MySQL慢日志分析工具pt-query-digest使用、报告分析
一、安装:去官网选择对应的版本或平台:此处我用的是percona-toolkit-2.2.16.tar.gz,直接解压使用。$ tar zxvf percona-toolkit-2.2.16.tar.gz$ cd percona-toolkit-2.2.16/bin$ ./pt-query-digest --version二、基础使用基础语法: pt-query-digest [OPTION...] [FILE]...