Spring Boot 实现根据 URL 切换多个数据库源

Spring Boot 实现根据 URL 切换多个数据库源 很多情况下,网站会用到多数据源的情况,比如多语言网站、多业务网站等。 在 Spring Boot 中,使用其自带了的路由数据源 (AbstractRoutingDataSource),可以很容易就能实现多数据库源的自动切换。 本文详细介绍如何实现以上目的,并且提供 Spring Boot 原生JDBC 和 MyBatis 的实现方式。 1…

MySQL 正则表达式替换

先说结论: 对于 MySQL 8+, 用REGEXP_REPLACE()函数 对于 MySQL 5 及以前版本,用用户自定义函数 (user-defined function,简称UDF),如:mysql-udf-regexp 本文只说明 MySQL 8+ 中REGEXP_REPLACE()函数的用法,不对 UDF 进行说明,请自行参考 GitHub 链接。 用法 REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])…

如何在 CentOS 8 上安装 MySQL

858 技术 发表评论
介绍 MySQL是一个开源数据库管理系统,通常作为流行的LEMP(Linux、Nginx、MySQL/MariaDB、PHP/Python/Perl)堆栈的一部分安装。它实现了关系模型和结构化查询语言(SQL) 来管理和查询数据。 本教程介绍了如何在 CentOS 8 服务器上安装 MySQL 8。 先决条件 要完成本教程,您需要一台运行 CentOS 8 的服务器。该服务器应具有 root 权限,…

WordPress 10w+数据时, 解决SQL_CALC_FOUND_ROWS查询使网站变慢问题

2.8k MySQL , 3评论
Wordpress在查询post列表时,默认会同时把文章数量也查询出来, 使用这种方式的有:get_posts 、query_posts和WP_Query。 get_posts在4.6.1+已经不用SQL_CALC_FOUND_ROWS,但是query_posts和WP_Query还是会用,所以还须优化。 具体语句如下: SELECT SQL_CALC_FOUND_ROWS tmpe04d7e_posts.ID FROM tmpe04d7e_posts WHERE 1=1 AND tmpe04…

MySQL kill process

5.2k MySQL , 发表评论
一般我们用命令: mysql> show full processlist; 可能看到很多等待的进程,如果要杀掉其中的某个,用kill命令: mysql> kill 1234; 那如果是要杀掉所有的进程呢? 首先用命令生成 kill 命令字符串,如下: mysql> select group_concat(concat('kill ',id) separator '; ') as cmd from information_schema.processlist where …

如何找出MySQL中正在锁表的语句?

4.8k MySQL , , 发表评论
MySQL在每个版本发布时,都会加上一些用以监控内部活动的工具。 但是,监控内部的锁情况的工具一直支持的不好。 监控锁一个非常重要和常用的功能,在这篇文章,我讲阐述如何做到。 1 介绍 假设有这样的一种情况:你准备update一个表,但是每次执行update语句的时候,都一直在等待,直到返回信息告诉你等待锁超时。 你准备update的表已经…

MySQL更新字段来自另一个表的count()值

假设有文章post和评论comment两个表,文章表记录有评论的数量,但是这个值我们要一次更新。 如下,现在post表的comment_count都是0,我们的目标是:执行一个SQL语句,让其把统计comment表的数据数量。 post表数据如下: +---------+-------------------+---------------+ | post_id | title | comment_count | +---------+-------------…

设置MySQL默认时区

10.2k MySQL , 发表评论
MySQL默认的时区是UTC时区,比北京时间晚8个小时。 假设日志里面的时间是中午12:00,那么北京时间应该是晚上的8:00点钟。 为方便查看和设置时间,我们要设置MySQL的默认时区,以符合本地使用。 1 永久有效方法 修改 my.cnf 文件,加入如下2行: default-time-zone='+08:00' # 数据表默认时区 即设置MySQL默认时区为东八区。 2 仅当前会…

MySQL查找和删除重复数据

2.1k MySQL , 发表评论
如何从MySQL中删除重复数据,只保留一条呢? 假设有如下一个数据表: mysql > SELECT * FROM users; +----+--------+ | id | name | +----+--------+ | 1 | google | <-- | 2 | yahoo | <-- | 3 | msn | <-- | 4 | google | | 5 | google | | 6 | yahoo | +----+--------+ 后面3条都是重复的数据,如何用一条命令删掉这些重…

MySQL导入多个.sql文件高效方法

12.0k MySQL 一条评论
MySQL有多种方法导入多个.sql文件(里面是sql语句),常用的有两个命令:mysql和source。 但是这两个命令的导入效率差别很大,具体请看最后的比较。 (还有sqlimport和LOAD DATA INFILE等导入方法,不过它们主要用于导入.csv或.xml文件数据,不是.sql文件) 假设我们有一个 users.sql 大文件,为方便我们将其拆分成:user1.sql、user2.s…
下一页 »