sql
文章平均质量分 60
weixin_888988
自动化运维
展开
-
PG异常无法启动的问题:could not read file “pg_logical/replorigin_checkpoint“: Success
复制槽提供了一种自动化的方法,以确保主服务器在所有备用服务器接收到WAL段之前不会删除它们,并且主服务器不会删除可能导致恢复冲突的行,即使在备用服务器断开连接时也是如此。当出现突然断电的情况,pg_logical/replorigin_checkpoint只创建了文件,没有来得及写数据的情况下,仍然会出现这种问题。第二个,当我们不需要使用逻辑复制,那么只需要将参数max_replication_slots设置为0,则数据库自动不创建该文件,从而避免该问题。很显然,使用复制槽能够更好的避免这些问题。转载 2022-10-10 14:19:16 · 1430 阅读 · 0 评论 -
连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
mysql,mysqldump,Mysqladmin,php连接mysql服务常会提示下面错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)当使用host参数为“localhost”连接Mysql服务时,会优先使用“sock文件”进行连接,而不是使用“IP:端口”进行连接,而Mysql尝试使用“sock文件”进行连接时,却无法获取“sock文转载 2021-07-22 16:36:36 · 15710 阅读 · 0 评论 -
ERROR 1356 (HY000): View ‘mysql.user’ references invalid table(s) or column(s) or function(s) or def
I needed to change the hostname on mysql database logins because the application server name was changed. I ran the following command:MariaDB [mysql]> update user set host='app1.example.com' where Host='app2.example.com';ERROR 1356 (HY000): View 'm转载 2021-07-22 09:08:53 · 10408 阅读 · 0 评论 -
overwrite table with data from another table - SQL
First an assumption. DB1 and DB2 are on the same instance. It certainly sounds like they are but it never hurts to state the obvious (particularly since I've been wrong with what I thought was obvious before.)Given that, if the data is large, say multipl转载 2021-07-22 09:04:39 · 131 阅读 · 0 评论 -
How to Export & Import Existing User (with its Privileges!)
One of the easiest ways I've found to export users is using Percona's tool pt-show-grants. The Percona tool kit is free, easy to install, and easy to use, with lots of documentation. It's an easy way to show all users, or specific users. It lists all of th转载 2021-07-21 18:02:35 · 204 阅读 · 0 评论 -
Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)
如果本地装了mariadbclient, 但是本地未安装mysql 服务,通过本地docker端口转发到容器里面的mysql服务器,使用 mysql 命令去访问本地 (localhost)mysql 会出现“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)”错误,需要指定服务器的ip或者 127.0.0.1[shensh@cnwbzp3137 d.原创 2021-07-19 18:00:59 · 314 阅读 · 0 评论 -
MySQL字段默认值设置详解
前言:在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默认值相关知识。1.默认值相关操作我们可以用 DEFAULT 关键字来定义默认值,默认值通常用在非空列,这样能够防止数据表在录入数据时出现错误。创建表时,我们可以给某个列设置默认值,具体语法格式如下:# 格式模板<字段名> <数据类型> DEFAULT <默转载 2021-07-18 23:12:59 · 2242 阅读 · 0 评论 -
mysqldump数据库备份与恢复总结
MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个sql服务器(不一定是一个mysql服务器)。转储包含创建表和/或装载表的sql语句。ps、如果在服务器上进行备份,并且表均为myisam表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。本文从三部分介绍了mysql数据备份与恢复:第一,mysql基本常识;第二,数据备份与恢复示例;第三,mysqldump具体参数转载 2021-07-18 22:19:03 · 723 阅读 · 0 评论 -
Linux上面MySQL 删除匿名用户【空用户】
首先要登陆 ssh然后登陆数据库#mysql -uroot -p密码默认情况下,mysql安装好之后,会存在匿名用户,也可以叫空用户,输入mysql之后直接回车便可进入mysql。该匿名用户具有一定的权限,通过SHOW DATABASES;可以查看到information_schema数据库。删除语句很简单,用具有对应用户权限的用户登录,比如root。可以先查询一下空用户: SELECTuser,host,passwordFROMmysql.user; ...转载 2021-07-15 10:33:46 · 458 阅读 · 0 评论 -
如何从mysqldump备份出的sql文件,恢复单个库或者单个表
前言实际上关于数据库的备份,我们通常使用的是全备或者是对重要的数据库进行备份。但是,当我们因为某些情况,要对数据库执行恢复时,并不一定是要对数据库恢复全部内容,更多的是只恢复某个库或某张表的数据即可。下面要介绍的就是如何从mysqldump备份出的sql文件,恢复单个库或者单个表本文关于mysqldump的备份就不介绍了,mysqldump备份请参考下列链接:https://blog.csdn.net/GX_1_11_real/article/details/81062074从全备中,恢复单转载 2021-07-15 09:27:59 · 782 阅读 · 0 评论 -
Mysql中Cast()函数的用法
Cast(字段名 as 转换的类型 ),其中类型可以为:CHAR[(N)] 字符型DATE 日期型DATETIME 日期和时间型DECIMAL float型SIGNED intTIME 时间型例如表table1date2015-11-03 15:31:26select cast(date as signed) as date from table1;结果如下:date20151103153126select cast(date as char...转载 2021-02-23 15:13:28 · 179 阅读 · 0 评论 -
MySQL之添加联合唯一索引
一、联合唯一索引项目中需要用到联合唯一索引:例如:有以下需求:每个人每一天只有可能产生一条记录:处了程序约定之外,数据库本身也可以设定:例如:t_aa 表中有aa,bb两个字段,如果不希望有2条一模一样的记录(即:aa字段的值可以重复; bb字段的值也可以重复,但是一条记录(aa,bb)组合值不允许重复),需要给 t_aa 表添加多个字段的联合唯一索引:alter table t_aa add unique index(aa,bb);例如:alter table use_info转载 2020-09-24 16:52:05 · 1483 阅读 · 0 评论 -
Mysql中让两个字段不同时相同的方法
有时候我们会遇到这样的一种情况:有一些不同的专业,每个专业中有一些不同的学号,专业+学号能对应到个人。这时,应该如何在数据库中定义列,来保证专业+学号对应的学生的唯一性呢?把学号定义成唯一(UNIQUE)显然是行不通的,因为A专业和B专业都存在1000这样一个学号。方法1:联合主键PRIMARY KEY(major,id);不推荐。因为联合主键会给表的维护带来不便。另外,可能已经设定好了主键。方法2:建立联合唯一约束(联合唯一索引)(推荐)联合唯一约束:(创建唯一性约束..转载 2020-09-24 16:48:48 · 3089 阅读 · 1 评论 -
mysql如何查看表的索引以及如何删除表的索引
查看索引:show index from mytable;//mytable 是表名查询结果如下:查询到唯一索引后,如何删除唯一索引呢,使用如下命令:alter table mytable drop index mdl_tag_use_ix; //mdl_tag_use_ix是上表查出的索引名,key_name1.查看表上的索引show index from ti_o_sms;备注:通过以上的查询,TI_O_SMS_IDX是一个复合索引.2.删除这个...转载 2020-09-24 16:20:14 · 1066 阅读 · 1 评论 -
MySQL [Err] 1241 - Operand should contain 1 column(s)
Operand should contain 1 column(s)翻译过来就是:操作数应包含一列;错误原因:往往是我们多出一列操作数,或者给的参数格式不正确;解决方法:Demo1:WHERE msg_type IN (SELECT * FROM ies_message where msgsendtype=2)注意:IN操作符后面的子查询是: SELECT *IN操作符对应的只有一列操作数,而SELECT *回传的参数不只一列,导致该错误的产生;Demo2:GROU转载 2020-09-24 14:29:33 · 64849 阅读 · 0 评论 -
“Every derived table must have its own alias” Error in MySQL
Jun 29, 2020|1 commentAre you writing a query in MySQL and getting an error of “1248: Every derived table must have its own alias”? If so, it’s a simple error to fix.How To Fix The “Every derived table must have its own alias” Error in MySQLS...转载 2020-09-21 08:23:47 · 200 阅读 · 0 评论 -
mysql中可以实现类似if判断的方法
新建一张客户表,如下:sex:1-男,2-女,3-未知;level是客户的级别:1-超级VIP客户,2-VIP客户,3-普通客户方式一:case函数:流程控制函数用法一:CASE expressionWHEN value1 THEN returnvalue1WHEN value2 THEN returnvalue2WHEN value3 THEN returnvalue3……ELSE defaultreturnvalueEND例子:SELECT t.NAME,转载 2020-09-13 10:15:08 · 393 阅读 · 0 评论 -
为什么要分库分表
为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?面试官心理分析其实这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发、数据量大两个问题的。而且现在说实话,尤其是互联网类的公司面试,基本上都会来这么一下,分库分表如此普遍的技术问题,不问实在是不行,而如果你不知道那也实在是说不过去!面试题剖析为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?)转载 2020-08-30 12:58:46 · 113 阅读 · 0 评论 -
mysql 多表查询
转自:https://www.cnblogs.com/guokaifeng/p/11192266.html目录mysql 多表查询 数据准备 连表查 交叉连接 不适用任何匹配条件,生成笛卡尔积 select * from 表1,表2; 内链接 (常用) 只连接匹配的行 select * from staff inner join department on ...转载 2020-03-29 10:55:34 · 178 阅读 · 0 评论 -
Authentication plugin 'caching_sha2_password' cannot be loaded
1.) Open terminal / hyper2.)mysql -u root -p3.) Enter your password4.)ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'password';You can now log into sequel pro with root / p...原创 2020-01-13 22:16:54 · 114 阅读 · 0 评论 -
允许用户从远程主机访问mysql
表中host、user字段标识了可以访问数据库的主机和用户。例如上面的数据就表示只能本地主机通过root用户访问。原来如此,难怪远程连接死活连不上。经过网上查找方法,为了让数据库支持远程主机访问,有两种方法可以开启远程访问功能。第一种(改表法):修改host字段的值,将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访...转载 2020-01-13 17:50:49 · 203 阅读 · 0 评论 -
mysql 数据库查看表的信息
mysql 数据库查看表的信息查看正在改动的数据库:select database();status;查看表的结构:desc table_nameshow columns from table_name [from database_name];方括号表示其中内容可不必写,若要写只写括号中的内容,不写括号。查看表的create语句——其中当然含有结构:show crea...原创 2020-01-10 14:07:32 · 324 阅读 · 0 评论 -
不登陆数据库执行mysql命令方法总结
1.通过echo实现(这个比较常见) 1 echo"showdatabases;"|mysql-uroot-p'oldboy'-S/data/3308/mysql.sock 提示:此法适合单行字符串比较少的情况。2.通过cat实现(此法用的不多) 1 2 3 cat|mysql-ur...转载 2020-01-08 10:49:14 · 747 阅读 · 0 评论 -
MySQL:常用的30种SQL查询语句优化方法
MySQL:常用的30种SQL查询语句优化方法SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。下面给大家带来MySQL常用30种SQL查询语句优化方法:1、应尽量避免在 where 子句中使用!=或<>操作符...转载 2019-07-30 11:20:17 · 99 阅读 · 0 评论 -
数据库分库分表及MySQL主从复制实现数据库同步
一、为什么要分库分表解决大数据存储时数据访问性能,具体来说就是解决超大容量问题和性能问题。举例说明,订单表或用户表如果数据量达到上亿条记录,此时数据库的IO能力、处理能力就会出现一个瓶颈(MySQL官方统计单表数据量超过1000万性能会逐渐下降)。另一方面,单一数据库本身的CPU、内存、磁盘、IO都有性能极限。二、如何分库分表垂直分库:解决数据表过多问题,按照功能模块、业务维度、ER图...转载 2019-08-02 16:22:12 · 516 阅读 · 0 评论 -
MySQL 安装及其单机多实例部署
数据库是绝大多数企业应用必需的,而 MySQL 是最流行的开源数据库。本文以最新的 MySQL Community Server 5.7.17 为例,总结了 CentOS 下 MySQL 服务器的安装和必要配置,并演示了 MySQL 单机多实例的部署方法。1. CentOS 下安装 MySQLOracle 收购 MySQL 后,CentOS 为避免 MySQL 闭源的风险,改用 MyS...转载 2019-08-03 20:14:10 · 108 阅读 · 0 评论 -
MySQL和PG比较
如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库?MySQL还是PostgreSQL呢?该选择哪个开源数据库呢?在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的,你希望一开始就选择...转载 2019-07-31 16:50:04 · 3101 阅读 · 0 评论 -
MySQL优化思想
优化一览图优化笔者将优化分为了两大类:软优化和硬优化。软优化一般是操作数据库即可;而硬优化则是操作服务器硬件及参数设置。1、软优化1)查询语句优化首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息。例:DESC SELECT * FROM `user`显示其中会显示索引和查询数据读取数据条数等信息。...转载 2019-08-05 08:04:30 · 116 阅读 · 0 评论 -
查询性能优化
https://blog.csdn.net/qq_33936481/article/details/73531671优化数据访问查询性能低下的最基本的原因是访问的数据太多,对于低效的查询,可以从下面两个步骤来分析:(1)确认应用程序是否在检索大量超过需要的行,这通常意味着访问了太多的行,但有时候也有可能访问了太多的列。(2)确认MySQL服务器层是否在分析大量超过需要的数据行。...转载 2019-08-07 15:47:41 · 107 阅读 · 0 评论 -
MySql最左前缀原则
昨天做一个企业的笔试题,对数据库这块了解很浅,所以还是记录一下吧。B-Tree 索引和 Hash 索引的对比对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎。B-Tree 索引的特点B-tree 索引可以用于使用 =, >, >=, <,...转载 2019-08-07 16:05:57 · 112 阅读 · 0 评论 -
SQL查找删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)如何查找重复行 第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样...转载 2019-06-18 15:17:39 · 97 阅读 · 0 评论