数据库
威震四海
西北玄天一片云,乌鸦落进了凤凰群.........
展开
-
批量插入sqlserver,报错8114, b‘Error converting data type nvarchar to numeric
怀疑可能是提交前执行的sql产生了交叉错误干扰,于是尝试将链条简短,创建多个数据库连接对象,一个专门用来查询、一个删除、一个插入,查询表1---删除表2多条---插入表1---插入表2多条---删除表3多条----插入表3多条----提交。看提示内容是数据类型转换时出现了问题,网友大多也这么说,但是调整数据类型之后,错误并没有消失,在sql没有变化的情况下,随着数据表的数据越来越多,大约1千W,程序开始出现下面错误提示。具体代码比较麻烦而且涉及到公司业务,不能公布。根据上面的思路解决了我的问题。原创 2023-05-05 17:20:19 · 890 阅读 · 1 评论 -
MySQL批量删除、修改某个字段中的部分内容
例如:video表views字段中,只保留数字,删掉多余英文字符update videoset views=replace(views," views","") where id BETWEEN 946573AND 9476051;原创 2021-07-02 16:58:05 · 1932 阅读 · 0 评论 -
国庆回来发现MySQL死了,怎么都起不来
假期回来发现数据库还没回来,我就放4天,它以为8天呢!!!它还在旅游???发现MySQL在不断的自启失败自启失败。。。。陷入循环(MySQL设置了自启)研究了半天,有说内存不足的,我看了很足,显然不是这个原因;有说网络问题的,网络很好,更不靠谱;看一下日志文件:/var/log/mysqld.log发现一下问题:Unix socket lock file is empty /var/lib/mysql/mysql.sock.lock查看此文件发现其大小为0,mys原创 2020-10-05 09:40:40 · 402 阅读 · 5 评论 -
MySQL两张表比较count大小
例如现在同一数据库下的两张表A和B,想要比较两张表数据的条数不难如果两张表的内容每天都是变动的,那么用一条sql如何进行比较呢?参考如下:select (select count(*) as num1 from A) as num1,(select count(*) as num2 from B ) as num2, case when (select count(*) as num1 from A) =(select count(*) as num2 from B ) then '.原创 2020-07-23 16:38:53 · 3473 阅读 · 1 评论 -
安装psycopg2失败问题
执行pip3 install psycopg2,未成功如下图:原因:缺少必要的postgresql组件解决办法:yum install postgresql-devel*再次执行pip3 install psycopg2即可原创 2020-05-22 16:43:47 · 2514 阅读 · 0 评论 -
navicat创建定时任务
在此之前确保event_scheduler为开启状态查询方法:show variables like '%event_scheduler%';结果为ON或1为开启状态,结果为off或0为关闭状态,需要开启:SET GLOBAL event_scheduler = ON;1、创建函数内容根据需求自定,放入要周期执行的sql2、创建事件以调用函数、设置时间出发时间和频率相同的方式创建事件保存...原创 2020-05-19 17:57:56 · 773 阅读 · 0 评论 -
linux设置redis开机启动
1.设置redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行2.复制redis配置文件作为启动脚本#1.在/etc下新建redis文件夹[root@localhost /]# mkdir /etc/redis#2.把安装redis目录里面的redis.conf文件复制到/etc/redis/3650.conf里面,3650.conf是取的文件名称,启动脚本里面的变量会读取这个名称,所以要是redis的端口号改了,这里也要修改[root@lo...原创 2020-05-12 17:18:17 · 350 阅读 · 0 评论 -
reboot导致redis数据全部消失
因为一些原因需要重启服务器,但是发现linux(centos)服务器重启后redis数据不见了处理办法1、vi/etc/sysctl.conf2、在最后添加一行vm.overcommit_memory = 13、保存修改的配置,并执行sysctl -p 使其生效即可...原创 2020-03-24 09:22:34 · 504 阅读 · 0 评论 -
误删MySQL数据库user表 root用户导致无法登陆
MySQL数据库user表中的root用户被误删,导致远程和本地均无法登录(Linux环境);(有一个能够创建用户的账户)解决过程1、找到MySQL的配置文件my.cnf2、在[mysqld]下增加一行skip-grant-tables3、重启数据库systemctl restart mysqld4、创建root账户(在navicat操作,复制一个用户,复制为为insert...原创 2020-03-16 11:49:22 · 1188 阅读 · 0 评论 -
MySQL外键交错,导致主键不能自增
多个表月表有外键关联,建表设置外键后发现,单表主键不能设置自增,翻过来也不行解决方法:先不自增,创建表和外键然后set foreign_key_checks = 0;ALTER TABLE ‘abc’ MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST;各表依次执行即可...原创 2020-03-09 17:24:58 · 2167 阅读 · 0 评论 -
MySQL数据库用户权限操作
MySQL 赋予用户权限命令一、创建用户与数据操作权限的分配;1.1、指定用户名,登录ip(如果不限制ip则改为%),密码create user 'user_name'@'xxx.xxx.xxx.xxx' identified by 'pwd';1.2、为已创建的用户开放新的登录ip(假如该用户已有增、删、改、查、创建表的权限)GRANT select,insert,up...原创 2020-03-02 15:20:55 · 499 阅读 · 0 评论 -
Specified key was too long; max key length is 767 bytes
MySQL表添加复合唯一性约束时提示(pgsql添加很顺利,没有遇到这种情况):error:Specified key was too long; max key length is 767 bytes即对两个或两个以上的字段进行唯一性约束时例如col1,col2其中col1可以重复出现,col2也可重复出现,但col1,col2组合不能重复解决过程如下:启用系统变量inno...原创 2020-02-12 11:24:22 · 263 阅读 · 0 评论 -
乖歪vps配置redis之后无法在乖nei连接
1、找到redis配置文件redis.conf注释掉# bind 127.0.0.12、查看防火墙是否开启redis端口(例如6379)firewall-cmd --query-port=6379/tcp如果返回结果为no,则端口未开放执行: firewall-cmd --add-port=6379/tcp --permanent success 表示端...原创 2020-01-07 09:34:25 · 232 阅读 · 0 评论 -
centos启动MySQL失败2
提示:Starting MySQL.2019-11-29T07:06:15.880840Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.该文件不存在,创建mkdir /var/lib/mysqsl重试仍然失败,提示:Starting MySQL..The server qu...原创 2019-11-29 15:55:00 · 319 阅读 · 0 评论 -
centos启动MySQL失败
错误提示:mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log'原因找不到日志文件或者日志文件不存在方法:创建该文件mkdir/var/log/mariadbtouch/var/log/mariadb/mariadb.logchown -R mysql:mysql/var/log/ma...原创 2019-11-29 15:13:05 · 315 阅读 · 0 评论 -
centos配置MySQL5.7初始化过程失败
提示libaio.so.1文件不存在有人是版本不匹配,这个自己搜一下,我的确实是不存在wgethttp://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpmrpm -ivhlibaio-0.3.107-10.el6.x86_64.rpm...原创 2019-11-29 14:57:02 · 794 阅读 · 0 评论 -
设置pgsql主键id自增起始值
pgsql主键id本身不带自增,设置方法见https://blog.csdn.net/Beyond_F4/article/details/102475267设置后向表中插入数据,默认id从1开始自增插入如果表中已经有数据了,那么插入是徒劳的需要设置自增初始值执行sql例如:表名tableselect setval('table_id_seq',1000,false);也...原创 2019-10-11 17:10:46 · 7643 阅读 · 0 评论 -
为已创建的pgsql设置主键自增
alter table tablenameadd id serial原创 2019-10-10 09:56:21 · 2718 阅读 · 1 评论 -
pgsql局域网连接成功,外网访问失败
首先将本地pg端口映射到外网然后找到本地pg安装路径下的配置文件文件pg_hba.conf如:D:\install_path\PostgreSQL\9.6\data\pg_hba.conf打开文件,找到# IPv4 local connections:host all all 127.0.0.1/32 ...原创 2019-10-09 14:41:02 · 716 阅读 · 0 评论 -
Packet sequence number wrong - got 7 expected 2
多线程连接数据,提交增改查请求,爆出Packet sequence number wrong - got 7 expected 2(数据包序列号错误)解决办法:在请求时加上互斥锁或者每个线程单独创建连接对象...原创 2019-09-24 09:30:20 · 4368 阅读 · 0 评论 -
windows无法启动redis服务错误1067
在windows10上安装redis并配置成服务启动服务时失败提示1067最后解决办法是在根目录下创建Logs目录再次启动成功并不需要将网络服务改为本地服务...原创 2019-09-19 13:43:29 · 4838 阅读 · 5 评论 -
Python连接redis集群
#coding:utf-8import jsonfrom rediscluster import StrictRedisClusterimport sysimport timedef redis_cluster(): li=[] redis_nodes = [{'host':'10.10.100.20','port':20011}, ...原创 2018-06-20 11:41:20 · 5162 阅读 · 10 评论 -
MySQL数据库的基本操作1
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。show databases;(查看所有数据库)use 数据库名称(进入某个指定的数据库中)select database();(查看当前所在的数据库名称)show tables;(查看当前数据库中所有数据表原创 2017-10-28 13:30:54 · 2786 阅读 · 0 评论 -
关于MySQL数据库的内置函数
mysql的内置函数:字符串函数数学函数日期函数类型转换函数流程控制函数1、字符串函数:1.1查询ascii码的函数 select ascii (1);1.2拼接字符串concatselect concat (str1,str2.....);1.3查看字符串长度len原创 2017-10-28 13:59:21 · 1647 阅读 · 0 评论 -
关于MySQL中的事务
事务四大特性(简称ACID)原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的持久性(Durability):对于任意已提交事务,原创 2017-10-28 14:11:12 · 1340 阅读 · 0 评论 -
MySQL与Python的交互
一、使用Python向MySQL数据库的某个表中插入数据1、导入pymysql模块from pymysql import *2、定义一个insert函数def insert():try:(如果连接失败可能会抛出异常,所以使用try)3、获取连接conn = connect(host = 'localhost',user = 'root',password =原创 2017-10-28 14:19:44 · 1431 阅读 · 0 评论 -
MySQL数据表的子查询
子查询语句在一个select语句中嵌入了另一个select语句,那么被嵌入的select语句叫做子查询语句主查询语句第一个select语句主查询和子查询的关系子查询的分类1、标量子查询(子查询语句返回的是一个值)查询students表中大于平均年龄的学生信息查询班级学生平均年龄查询大于平均年龄的学生子查询:select语句原创 2017-10-28 15:00:48 · 1592 阅读 · 0 评论 -
navicat只显示1000条记录?
Navicat 只显示1000条记录?一直用的都是终端命令行,好久不用navicat了,最近又用了一下,发现数据表里的数据只能显示前1000条,这是什么鬼,难道数据库出问题了?原来是navicat默认--超过1000条--就翻页了,看右下角点击向右箭头,翻开下一页,就可以继续浏览了,当然也可以直接翻到最后一页如果你觉得1000对你来说不合适,也是可以通过--工具---来修改的工具–>选项–&...原创 2018-04-13 14:29:03 · 13661 阅读 · 1 评论 -
如何在MySQL中创建新的数据库(windows下)
一、首先确保已经安装好MySQL,如果还没有安装也没关系,可以参考:https://blog.csdn.net/beyond_f4/article/details/79894234二、windows下win+R键入cmd进入命令窗口输入mysql -uroot -p,提示输入密码,输入后进入mysql界面三、创建数据库输入create database wltx ;创建数据库(wltx为数据库名)...原创 2018-04-11 15:47:59 · 20923 阅读 · 3 评论 -
如何用Python脚本自动创建多张表
今天有个任务,将服务器上MySQL中的100张表一亿条数据数据迁移到es中,因为MySQL和es都是在生产环境中的,不敢乱动啊,万一搞错了就完蛋了,我只能在本地测试,第一个要解决的问题就是,模拟出MySQL的具有相同表结构的100张表好在表的名字是有规律的xxxxx_1、xxxxx_2、xxxxx_3、......xxxxx_100、刚开始我用手动的方式写了2个,太慢了,于是结合Python搞一搞...原创 2018-06-15 17:01:43 · 5375 阅读 · 1 评论 -
Python操作mongodb
建立连接my_client = pymongo.MongoClient('mongodb://localhost:27017/')建立数据库my_db = my_client["runoobdb"]建立集合my_col = my_db["sites"]准备数据my_dict_list = result['data']['detail']插入多条my_col.insert_ma...原创 2018-09-21 10:16:21 · 202 阅读 · 0 评论 -
ERR Client sent AUTH, but no password is set
Python连接redis爆出上面错误提示原因:新配置redis没有设置密码启动了解决办法:为redis设置密码,重启服务即可打开redis.windows.conf找到“ # requirepass foobared”将“#”去掉,foobared即为密码(改为自定义密码)...原创 2019-08-14 15:25:21 · 374 阅读 · 0 评论 -
Creating Server TCP listening socket *:6379: bind: No such file
Creating Server TCP listening socket *:6379: bind: No such file刚配置的redis启动如果遇到上述错误提示,说明配置信息没有生效将redis服务关闭重启即可原创 2019-08-14 14:55:13 · 927 阅读 · 0 评论 -
windows下配置的redis启动后只能本机访问
原因是redis启动文件绑定了本机的ip地址找到启动配置文件redis.windows-service.conf将bind 127.0.0.1注释掉重启服务即可原创 2019-08-19 10:58:47 · 1888 阅读 · 0 评论 -
Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...'
写入MySQL时由于字段中包含一些特殊字符导致写入失败将该字段的字符集改为utf8mb4并将该字段的排序规则改为utf8mb4-general-ci保存重新写入,正常原创 2019-06-21 17:26:07 · 1026 阅读 · 0 评论 -
raise err.InterfaceError("(0, '')")
pymysql写入数据时间过长出现raise err.InterfaceError("(0, '')")失去连接执行sql语句前使用conn.ping(reconnect=True)进行连接保持如果断开,会触发重新连接原创 2019-05-31 08:43:15 · 4143 阅读 · 1 评论 -
清空数据表后id从零自增
清空数据时不用delete from tbname而是用truncate table tbname原创 2019-05-30 11:39:51 · 573 阅读 · 0 评论 -
pgsql中select出来的结果加上自增不重复的id
在pgsql中select出来的结果如何添加行号?postgresql如何添加行号?select添加行号?今天遇到一个情况,odoo中视图需要动态的生成,用的是select出来的结果作为临时视图(这个比较复杂,一言难尽,只说简单的核心问题),由于初期没考虑到id重复问题导致今天凡是id重复的数据只显示最后一条,那么如何给select出来的结果一个不重复的id呢?这里可以用sel...原创 2019-02-13 11:41:52 · 2466 阅读 · 0 评论 -
windows下导出pg数据库
由于pg_dump.exe执行程序在PostgreSql数据库安装目录“Bin”目录下,如果未设置环境变量则需要进入目录下执行导出1、cmd进入pg安装bin目录下2、执行pg_dump -h xxx.xxx.x.xxx(ip)-U xxxxx(user_name)-p xxxx(pg_port) xxxxx(database_name) > local_p...原创 2019-01-28 14:13:00 · 1314 阅读 · 0 评论 -
windows下如何安装MySQL 5.7 .21(详细教程)
MySQL 5.7 .21版本的安装及简单使用(图文教程)MySQL 5.7版本的安装使用详细教程写得还是比较详细,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但是我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路。当然,知道同学的可以略过,选择你想知道的地方看。因为看到mysql5.7加入了新特性documentation所以重新安装了一下mysql5.7版本的...转载 2018-04-11 11:49:55 · 3710 阅读 · 0 评论