MySQL
文章平均质量分 55
风行無痕
应用工程师/DBA管理员,专注Java/C#/Python程序设计。
展开
-
MySQL 8.0.21 deb安装方式升级到8.0.39 丝滑升级 保留数据 Ubuntu 22.04
MySQL 8.0.21升级到8.0.39 丝滑升级 保留数据原创 2024-09-06 17:00:50 · 772 阅读 · 0 评论 -
MySQL排查占用资源过多SQL语句
MySQL排查占用资源过多SQL语句原创 2024-07-01 11:41:24 · 779 阅读 · 0 评论 -
MySQL TDE 透明数据加密 知识总结
MySQL TDE 透明数据加密 知识总结原创 2024-03-28 17:13:43 · 1587 阅读 · 0 评论 -
MySQL 8.0.35 企业版安装和启用TDE插件keyring_encrypted_file
MySQL企业版安装和启用TDE插件keyring_encrypted_file原创 2024-03-04 15:51:41 · 596 阅读 · 0 评论 -
MySQL 8.x temp空间不足问题
系统Ubuntu20.04数据库版本MySQL 8.0.21在MySQL上执行一个大的SQL查询报错原因是表明在写入文件时,临时目录(tmpdir)的设备上没有足够的可用空间,可能会导致MySQL无法执行某些大的操作。查看当前mysql使用的临时目录执行sql语句,通过df -h /tmp观察tmp空间使用情况变化。原创 2023-12-12 23:20:26 · 859 阅读 · 0 评论 -
MySQL 8.x重新初始化报错[MY-010069] [Server] Failed to set up SSL because of the following SSL library error
MySQL 8.x重新初始化报错[MY-010069] [Server] Failed to set up SSL because of the following SSL library error原创 2023-11-30 09:17:53 · 1269 阅读 · 0 评论 -
MySQL 8.0 新特性 解决问题正则表达式Error Code: 3699. Timeout exceeded in regular expression match.
Error Code: 3699. Timeout exceeded in regular expression match.show GLOBAL variables like '%regexp_time_limit%';原创 2023-11-13 17:14:45 · 789 阅读 · 0 评论 -
MySQL 8.0 升级字符集问题,解决SQL插入数据Insert Error:Incorrect string value: ‘\xF0\x9F\x90\xBE‘ for column 报错
MySQL8.0升级字符集问题,解决SQL插入数据Insert Error:Incorrect string value: '\xF0\x9F\x90\xBE' for column 报错原创 2023-11-13 10:47:53 · 650 阅读 · 0 评论 -
解决MySQL大版本升级导致.Net(C#)程序连接报错问题
解决MySQL大版本升级导致.Net(C#)程序连接报错问题原创 2023-10-29 00:30:41 · 3158 阅读 · 0 评论 -
MySQL 8.0数据库主从Authentication plugin ‘caching_sha2_password‘ reported error: Authentication requi问题处理
根据报错提示,发现原因是用于主从复制的slave_user账号在主库中的数据库加密是。在从库通过start slave启动主从复制时出现报错。原创 2023-09-22 17:18:49 · 1274 阅读 · 0 评论 -
MySQL运维 从全备sql文件中提取指定表的数据并恢复
MySQL运维 从全备sql文件中提取指定表的数据并恢复原创 2023-07-27 23:40:37 · 903 阅读 · 0 评论 -
Ubuntu上安装MySQL 8.X 并修改数据目录
Ubuntu上安装MySQL 8.X 并修改数据目录原创 2023-07-20 10:57:40 · 585 阅读 · 0 评论 -
MySQL 8.x 导入数据报错ERROR 1231 (42000) at line 2238: Variable ‘sql_mode‘ can‘t be set to the value of ‘N
将MySQL低版本导出的dump文件导入到高版本数据库,中途出现下面报错:ERROR 1231 (42000) at line 2238: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'信息。原创 2023-07-07 20:45:29 · 1481 阅读 · 0 评论 -
MySQL -报错ERROR 1153 (08S01) at line 199: Got a packet bigger than ‘max_allowed_packet‘ bytes
ERROR 1153 (08S01) at line 199: Got a packet bigger than 'max_allowed_packet' bytes。原创 2022-11-14 16:56:14 · 588 阅读 · 0 评论 -
MySQL8.0 ERROR 1410 (42000): You are not allowed to create a user with GRANT
如果已建用户是:testuser@localhost,你要授权给testuser@%,那肯定不行,必须一样才行。实质问题原因是:授权语法不严谨导致所授权的用户及其所在主机名,要与实际存在的用户及其主机名一致。在mysql上授权指定账号特定数据库表的查询权限,出现下面的报错。所以主机名不一致的需要先修改主机名或者修改授权SQL语句。-- 更新指定用户主机。-- 查看用户信息。原创 2022-11-04 15:57:28 · 10756 阅读 · 4 评论 -
MySQL8.0 配置文件优化参数说明
mysql在linux上默认安装后配置文件/etc/my.cnf,可以根据下列参数对mysql进行适当的优化。转载 2022-09-08 23:41:12 · 4297 阅读 · 2 评论 -
MySQL 8.X数据转移到MySQL 5.X
MySQL 8.X数据转移到MySQL 5.X原创 2022-04-24 00:48:16 · 4149 阅读 · 3 评论 -
解决MySQL数据库导入SQL报错 Unknown collation: ‘utf8mb4_0900_ai_ci‘问题
ERROR 1273 (HY000) at line 78: Unknown collation: 'utf8mb4_0900_ai_ci'原创 2022-04-22 23:31:25 · 2083 阅读 · 0 评论 -
MySQL高版本导入到低版本导入报错ERROR 1273 (HY000) at line 25: Unknown collation: ‘utf8mb4_0900_ai_ci‘解决办法
错误原因:高版本数据库mysql8.0利用mysqldump导出的sql文件,重新导入低版本数据库mysql5.5。字符集编码的问题。解决办法:将需要导入的sql文件中所有的utf8mb4_0900_ai_ci替换为utf8_general_ci所有的utf8mb4替换为utf8...原创 2021-11-24 21:16:13 · 1298 阅读 · 0 评论 -
mysqldump 备份命令使用整理
导出一个表的数据/usr/bin/mysqldump -uroot -p'密码' databese_name table_name > /backup/data/20211011.sql导出指定数据库/usr/bin/mysqldump -uroot -p'密码' 数据库名 > /backup/data/20211010.sql导出全库/usr/bin/mysqldump -uroot -p'密码' --all-databases --flush-privil...转载 2021-10-11 14:34:33 · 388 阅读 · 0 评论 -
MySQL的定时任务EVENT事件使用说明
4、docallsync_lastday_attendance()是该event(事件)的操作内容,这里是调用名为sync_lastday_attendance()的存储过程。1、createeventsync_lastday_attendance是创建名为sync_lastday_attendance的事件。参数单位有second、minute、hour、day、week(周)、quarter(季度)、month、year。查看指定定时任务创建详细。*on这里是启用的。...原创 2021-09-19 13:48:40 · 3491 阅读 · 0 评论 -
MySQL慢查询日志配置
一、慢查询日志相关参数1、slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。2、log-slow-queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log3、slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log4、long_query_time转载 2021-07-26 15:37:45 · 1053 阅读 · 0 评论 -
MySQL LVM逻辑卷快照备份
通过LVM逻辑卷实现MySQL备份及还原(几乎热备):前提: 1、数据文件要在逻辑卷上; 2、此逻辑卷所在卷组必须有足够的空间使用快照卷; 3、数据文件和事务日志要在同一个逻辑卷上;步骤:一、创建快照卷[root@test ~]# /usr/sbin/lvcreate -L 8G -n mysql_backup -s /dev/vol1/lv1#创建快照卷,-s:指定为所创建的是快照卷s=snapshot快照;-p:指定权限p=permis...原创 2021-06-07 23:16:18 · 253 阅读 · 0 评论 -
mysql关于FLUSH TABLES和FLUSH TABLES WITH READ LOCK的理解
总结1、FLUSH TABLES关闭所有打开的表,强制关闭所有正在使用的表,并刷新查询缓存和预准备语句缓存,不会刷新脏块2、FLUSH TABLES WITH READ LOCK关闭所有打开的表并使用全局读锁锁定所有数据库的所有表,不会刷新脏块3、如果一个会话中使用LOCK TABLES tbl_name lock_type语句对某表加了表锁,在该表锁未释放前,那么另外一个会话如果执行FLUSH TABLES语句会被阻塞,执行FLUSH TABLES WITH READ LOCK也会被堵塞4、如果一转载 2021-05-30 09:41:00 · 1484 阅读 · 0 评论 -
mysql 创建和删除联合索引
一、创建索引(联合索引)1、[组合索引]数据库中没有数据或者没有重复数据alter table user add unique index(id,name,password);2、[组合索引]数据库中拥有重复数据:它会删除重复的记录(别怕,会保留一条),然后建立唯一索引alter ignore table useradd unique index(id,name,password);3、[普通索引]create Index indexNameON tableName(ta...原创 2020-11-20 00:15:36 · 4315 阅读 · 0 评论 -
Java代码直接读取MySql的binlog日志文件 保存到本地
1.在pom.xml中添加jar包 <dependency> <groupId>com.github.shyiko</groupId> <artifactId>mysql-binlog-connector-java</artifactId> <version>0.20.0</version> </dependency> 2.直接上代码package demo;impo原创 2020-07-24 09:29:40 · 1969 阅读 · 0 评论 -
MySQL 5.7 配置主从复制 (2020实际操作)
**配置 master 主库机器 **1. 编辑主节点my.cnf配置文件,开启binlog二进制日志文件,设置mysql的server-id唯一编号log-bin=mysql-binsync_binlog = 1binlog_format =mixedexpire_logs_days = 7server-id = 933重新启动主节点mysql服务,查看b...原创 2020-07-18 10:33:05 · 416 阅读 · 0 评论 -
Mysql-5.7.21 X64 zip压缩版 windows下安装教程
从官方download版本对应的zip解压包。我本次安装包是mysql-5.7.21 X64.zip解压到安装目录,打开具有管理员权限的命令提示符,进入数据库安装目录中的bin文件夹(以下简称bin文件夹)一、初始化数据库当前没有data目录执行mysqld --initialize-insecure --user=mysql初始化生成data目录。随机root密码,在上一步生成的data文件夹中,有一个以“.err”结尾的文件,用文件编辑器打开后搜索“pas..原创 2020-06-15 12:12:11 · 198 阅读 · 0 评论 -
MySQL server has gone away 问题的解决方法
mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入)。产生这个问题的原因有很多,总结下网上的分析:原因一. MySQL 服务宕了判断是否属于这...转载 2020-06-03 20:56:52 · 230 阅读 · 0 评论 -
MySQL清理binlog的正确方式
本位主要讲述如何正确的清理 MySQL的binlog,里面有哪些坑,注意点有什么。一、 为什么要清理binlog 如果没有设置MySQL的binlog过期时间或者设置的时间过长, 会导致磁盘容量报警,当磁盘100%时时非常危险,服务会不可用,所以监控一定要做好,磁盘容量不足时候可以清理之前的binlog来释放磁盘空间。二、 如何清理binlog 清理binlog有两个维度进行清理, 一个是根据时间的维度,一个是清理某个binlog文件之前的,具体指令如下:...转载 2020-05-31 12:05:07 · 494 阅读 · 0 评论 -
MySQL Replication 优化和技巧、常见故障解决方法
一些错误信息的处理,主从服务器上的命令,及状态信息。在从服务器上使用show slave status\GSlave_IO_Running,为No,则说明IO_THREAD没有启动,请执行start slave io_threadSlave_SQL_Running为No则复制出错,查看Last_error字段排除错误后执行start slave sql_thread查看Slave_IO_State字段空 //复制没有启动Connecting to master//没有连接上master...转载 2020-05-21 11:11:23 · 657 阅读 · 0 评论 -
解决linux mysql命令 bash: mysql: command not found
在Linux上执行mysql -uroot -p[root@coqpvd401 ~]# mysql -uroot -pbash: mysql: command not found...报错error如下:原因:遇上-bash: mysql: command not found的情况别着急,这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令。/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:把mysql安原创 2020-05-21 10:31:38 · 4153 阅读 · 1 评论 -
mysql innodb 配置详解
innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响。默认的设置只有8M,所以默认的数据库设置下面InnoDB性能很差。在只有InnoDB存储引擎的数据库服务器上面,可以设置60-80%的内存。更精确一点,在内存容量允许的情况下面设置比InnoDB tablespaces大10%的内存大小。innodb_data_file_path:指定表数据和索引存储的空间,可以是一个或者多个文件。最后一个数据文件必须是自动扩充的,也只有最后一个文件...转载 2020-05-20 16:14:01 · 384 阅读 · 0 评论 -
MySQL数据库及表空间占用信息统计
这里用到一个表, information_schema.tables;对应主要字段含义如下:TABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大小INDEX_LENGTH:索引大小1.查询数据库,表,行数统计记录select table_schema,table_...原创 2020-05-06 10:47:54 · 835 阅读 · 1 评论 -
MySQL恢复 利用innodb_force_recovery修复MySQL数据页损坏
现象:启动MySQL服务时报1067错误,服务无法启动。 查看xxx.err错误日志发现有数据页损坏信息: InnoDB:Databasepagecorruptionondiskorafailed InnoDB:filereadofpage200. 出现上述现象是由于突然断电、强制关机、强制杀死MySQL进程等操作所导致的。 ...原创 2020-01-17 17:47:44 · 4974 阅读 · 0 评论 -
MySQL恢复数据库 实战 通过复制数据目录文件夹
背景:原来的数据库服务器操作系统坏了,但是能够找到以前MySQL安装路径里面的文件恢复步骤:1.在另外服务器上安装相同版本的MySQL数据库 (最好安装过程中的配置都是一样的)2.停止服务 net stop mysql (或者通过服务界面也可以停止)3.备份目前的data目录,复制需要恢复的data目录4.修改my.ini文件 最后增加一行 innodb_force_r...原创 2020-01-17 17:05:42 · 389 阅读 · 0 评论 -
mysql BLOB字段转String的方法
1、sql语句直接查询转换select convert(field using utf8) as A from table;2、java程序转换String str;try{ str=new String((byte[])entry.getValue,"utf-8"); hashmap.put(entry.getKey().toString(),st...原创 2019-12-31 19:12:28 · 2420 阅读 · 0 评论 -
mysql avg min max 函数使用
avg取得某一列的平均值取得平均薪水select avg(sal) from emp;max取得某个一列的最大值取得最高薪水select max(sal) from emp;取得最晚入职得员工select max(str_to_date (hiredate, '%Y-%m-%d')) from emp;...原创 2019-11-12 11:02:49 · 270 阅读 · 0 评论 -
MySQL WEEK函数介绍
MySQL WEEK函数介绍通常,一年的正常年份为365天,闰年为366天。一年又可以分为许多周,每周有7天。 所以一年,我们经常有365/7 = 52周,周范围是从1到52。要查看给定日期属于哪个周数,您可以使用WEEK函数,如下所示:WEEK(date, mode);WEEK函数接受两个参数:date是要获取周数的日期。 mode是一个可选参数,用于确定周...转载 2019-08-20 17:04:04 · 607 阅读 · 0 评论 -
MySQL 常用命令大全
1、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接...转载 2019-01-21 13:55:01 · 169 阅读 · 0 评论