武进网站制作公司,景安网站,WordPress去掉管理员邮箱,wordpress邮箱失败linux dns配置文件是“/etc/resolv.conf”#xff0c;该配置文件用于配置DNS客户#xff0c;它包含了主机的域名搜索顺序和DNS/服务器的地址#xff0c;每一行包括一个关键字和一个或多个空格隔开的参数。 /etc/resolv.conf #xff08;不配置就不能域名解析#xff09; 可…
linux dns配置文件是“/etc/resolv.conf”该配置文件用于配置DNS客户它包含了主机的域名搜索顺序和DNS/服务器的地址每一行包括一个关键字和一个或多个空格隔开的参数。 /etc/resolv.conf 不配置就不能域名解析 可以配置路由器网关或者dns服务器 nameserver 192.168.0.1 nameserver 114.114.114.114 du -sh 递归看当前目录占用空间大小。 du -sh * 递归看当前目录下各个目录或文件的大小。 df -h 看磁盘总空间及已用空间。 和我遇到的情况一样 /var/crash应该是系统崩溃记录下来的日志。 操作系统硬件或者软件故障导致操作系统崩溃的日志记录crash目录里面的大文件也是服务器崩溃的时候产生的主要是提供给系统管理员分析系统崩溃原因用的。 linux /var/crash目录暴增 https://www.modb.pro/db/224470 长见识了可以这么写。pandas筛选长度 import pandas as pd def invalid_tweets(tweets: pd.DataFrame) - pd.DataFrame: is_valid tweets[‘content’].str.len() 15 df tweets[is_valid] return df[[‘tweet_id’]] Zookeeper配置文件端口相关 #the port at which the clients will connect clientPort是与客户端连接的端口 clientPort2181 server.AB:C:D 尾部新增如上配置。A为一个节点编号如0或1或2。B为节点ip地址。C为Leader选举端口。D为数据同步端口。 https://www.kancloud.cn/zhangpn/zookeeper/1654670 kafka启动 kafka-server-start.sh $KAFKA_HOME/conf/server.properties Zookeeper命令 zkServer.sh start # 启动 zkServer.sh status # 查看状态 zkServer.sh stop # 停止 zkServer.sh restart # 重启 Kafka并不难学入门、进阶、商业实战 邓杰编著第二章
kafka和ZooKeeper安装 https://www.kancloud.cn/zhangpn/zookeeper/1654670 https://www.kancloud.cn/zhangpn/kafka/1658561 kafka安装 https://kafka.apache.org/downloads https://archive.apache.org/dist/kafka/
ZooKeeper安装 https://zookeeper.apache.org/releases.html#download https://archive.apache.org/dist/zookeeper/ zookeeper和kafka集群的版本适配 kafka zookeeper kafka_2.13-2.7.0 zookeeper-3.5.8 kafka_2.13-2.6.x zookeeper-3.5.8 kafka_2.12-2.5.0 zookeeper-3.5.8 kafka_2.12-2.4.0 zookeeper-3.5.6 kafka_2.12-2.3.1 zookeeper-3.4.14 kafka_2.12-2.3.0 zookeeper-3.4.14 kafka_2.12-1.1.1 zookeeper-3.4.10 kafka_2.12-1.1.0 zookeeper-3.4.10 kafka_2.12-1.0.2 zookeeper-3.4.10 kafka_2.12-0.11.0.0 zookeeper-3.4.10 kafka_2.12-0.10.2.2 zookeeper-3.4.9 kafka_2.12-0.10.0.0 zookeeper-3.4.6 kafka_2.12-0.9.0.0 zookeeper-3.4.6 https://zhuanlan.zhihu.com/p/360095145?utm_id0 zabbix图形化配置mysql报错发现Database host写 localhost报错写127.0.0.1就正常
Please create database manually, and set the configuration parameters for connection to this database. Press “Next step” button when done. Details Cannot connect to the database. No such file or directory 启动服务并开机自启 systemctl enable --now 加服务 HAVING的用法因为count(*)不能筛选
SELECT DISTINCT version FROM (SELECT version,COUNT(*) CT FROM test_table GROUP BY version HAVING CT 20000) T ORDER BY version DESC LIMIT 2 zcat 查看压缩包里面的内容 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -utest -p test 搭建kafka https://baijiahao.baidu.com/s?id1761361346909650797wfrspiderforpc https://blog.csdn.net/abments/article/details/128993066 https://mikechen.cc/24924.html https://dgrt.cn/a/2261784.html?actiononClick https://mikechen.cc/24926.html 搭建kafkahttps://mikechen.cc/24924.html 确实好用df.query num_list [2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30] df df.query(“time_horizon in num_list”) crontab -l crontab -e 每6小时一次定时覆盖式写入 0 */6 * * * echo y | cp /home/test.config /data/test.config
不覆盖写入 cp -n /home/test.config /data/test.config 想了一下其实是因为用了内网穿透的原因。 mysql 报错 虽然回显是内网ip但是我们是外网ip连的不能因为看见是内网ip就断定是运行的内网代码; Access denied for userxxxx内网IP’ (using password: YES) 查看端口号 ss -an netstat -an lsof -i -P -n 可以使用以下命令来查看 k8s 占用的端口号:kubectl get svc telnet 192.168.0.100 80 看端口是否开启 Trying 192.168.0.100… Connected to 192.168.0.100. Escape character is ‘^]’. ^] 按ctl ]号进入telnet界面说明连接成功
https://jingyan.baidu.com/article/63f236285a48180209ab3d4a.html ifdown 网卡名 ifup 网卡名 好了。虽然 systemctl status network看见网络还是失败但是网络可以用了。 不知道是不是什么冲突之类的。
https://blog.csdn.net/wuds_158/article/details/131409495 mysql 查看设置最大连接数与已用最大连接数 show variables like ‘max_connections’; show global status like ‘Max_used_connections’; https://blog.csdn.net/LelemamaAnne/article/details/113585805 使用管道给cp传值 find . -name “*.jar” | xargs -i cp {} /dir
cp后面的{}会被替换成xargs的输入
也可以使用
find . -name “*.jar” | xargs -I {} cp -r {} .
建议使用-I{}来代替 (大写i,不是小写L) ———————————————— 版权声明本文为CSDN博主「yayaqwl」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/u011517841/article/details/82347228 linux 获取倒数第二行数据 tail -n 2 mysql-bin.index | head -n 1 如何手动清理binlog 1.使用MySQL命令行 在MySQL命令行中使用PURGE BINARY LOGS语句可以删除所有指定日期前创建的过期binlog日志文件。
例如为了删除超过7天的binlog日志文件可以运行以下命令
PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY); 1 2.按照binlog名称删除 #将mysql-bin.000011之前的日志清理掉 mysql purge binary logs to ‘mysql-bin.000011’; Query OK, 0 rows affected (0.01 sec) 1 2 3 3.按照时间删除 #删除2023-03-21 18:08:00之前的binlog日志 mysql purge binary logs before ‘2023-03-21 18:08:00’; Query OK, 0 rows affected, 1 warning (0.02 sec) ———————————————— 版权声明本文为CSDN博主「Clang的技术博客」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/u012899618/article/details/129790336
[mysqld] #设置日志保留天数 expire_logs_days7 #设置日志文件最大大小 max_binlog_size100M 用代码实现mysql同步删mysql的binlog格式一般设置为row这种格式解析精准。 mysqlbinlog可以指定数据库 mysqlbinlog --database my_test_database --base64-outputdecode-rows --verbose mysql-bin.001364 | grep -i -A 10 delete 正则表达式匹配忽略大小写加 re.I s ‘That’ pat r’t’ results re.findall(pat,s,re.I) 正则表达式 获取数字串re.findall(“mysql-bin.(\d)”, res) cp -n 不要覆盖已存在的文件。不需要交互式输出 python的subprocess模块来执行linux命令并获取结果。 python之subprocess模块 : import subprocess subprocess.getstatusoutput(cmd) 执行cmd命令返回一个元组(命令执行状态, 命令执行结果输出)其功能类似于commands.getstatusoutput()
https://blog.csdn.net/qq_43331089/article/details/124421661 git clone分支 重命名git链接后面加 自己的命名可以重命名来区分不同分支 git clone --depth1 -b my_branch_2 http://project1.git project1_my_branch_2 https://baijiahao.baidu.com/s?id1757643389424134685wfrspiderforpc mysq查看死锁进程 select * from information_schema.innodb_trx kill 240727
https://blog.csdn.net/David_jiahuan/article/details/91558816 https://blog.51cto.com/u_12390904/6254246 pycharm 打开文件数量设置默认10个 File -- Settings --Editor --General -- Editor Tabs -- Tab limit sql语句里有单引号或者双引号之类的字符如果不是必须的可以replace去掉 str(e).replace(‘’, ’ ) sql_update “”“update 1_test_table set is_ok “{}” “””.format( e) python保存输出到文件 import sys f open(‘test_log.txt’, ‘w’) sys.stdout f print(‘输出输出’) f.close() 优先级为内置模块 自定义包 自定义模块 三方安装包 https://blog.csdn.net/UZDW_/article/details/131745636 git回退版本 场景一如果想将代码恢复到之前某个提交的版本且那个版本之后提交的版本都不要了就可以使用 git rest
原理 git reset的作用是修改HEAD的位置即将HEAD指向的位置改变为之前存在的某个版本
操作 查看版本号git log也可以上代码托管网页上查看history找到需要回滚的目标版本号 使用“git reset --hard 目标版本号”命令将版本回退 使用“git push -f”提交更改此时如果用“git push”会报错因为我们本地库HEAD指向的版本比远程库的要旧用“git push -f”强制推上去。 ———————————————— 版权声明本文为CSDN博主「泡泡大怪兽」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_45032067/article/details/124621305 scrapy设置延时单位秒 DOWNLOAD_DELAY2 (pymysql.err.0perationalEmror)(206,mySQL erver has gone away (ComectionResetEror(10854,“远程主机强迫关闭7一个现有的连接。”, None, 10054,Wone))’ 应该是单次入库太多我修改了一下max_allowed_packet 就好了。 查看 show global variables like ‘max_allowed_packet’; 设置set global max_allowed_packet 33554432;
影响范围
设置太大会使用更多内存很容易导致丢包无法捕捉异常大事物包SQL
设置太小可能会导致程序报错备份失败也会导致频繁的收发网络报影响系统性能
修改一般32M足够
[Mysql] set global max_allowed_packet 33554432;
修改配置文件
[mysqld]
max_allowed_packet32M https://cloud.tencent.com/developer/article/1103836 MySQL 对大小写是否敏感由 lower_case_table_names 参数来控制修改此参数需要重启数据库才能生效。
lower_case_table_names 0表名区分大小写且按照用户指定存储。 lower_case_table_names 1表不区分大小写使用小写存储。 lower_case_table_names 2表不区分大小写按照用户指定存储 又遇到一个问题https://blog.51cto.com/u_15072920/4373675 python中No module named ‘main.models’; ‘main’ is not a package解决方法
将相对路径改为绝对路径
from .bird_base import BirdBase------改为----- from python_learning.bird_base import BirdBase mysqldump安装yum install mysql 对应退出的容器用 docker start 启动。 docker run 是使用镜像创建新容器。 先编辑一下docker容器里的文件发现容器没有编辑器 可以通过 docker cp 解决
方法通过copy进行编辑 查看运行的容器docker ps -a
选择需要编辑容器进行登陆 sudo docker exec -it 容器名 /bin/bash 通过ls或 whereis 文件名或文件夹 进行查看需要编辑的文件的位置或者文件夹位置在哪
退出该容器内部 exit;
通过 docker cp 容器名:/etc/确认copy的文件或文件夹 /home/拷贝到的外部文件夹 把文件拷贝出来
通过 cd 拷贝到的文件夹位置可以使用 xftp工具直接对文件夹进行编辑或通过命令 vi vim 进行编辑
编辑完后再通过 docker cp /home/拷贝到的外部文件夹 容器名:/etc/确认copy的文件或文件夹 拷贝回去
最后重启一下编辑过文件的容器然后进行测试有没有生效 一个字段不小心尾部多了个空格可以用下列sql快速去除空格 UPDATE 表名 SET 字段名 REPLACE(字段名, ’ , ‘’)
https://www.yzktw.com.cn/post/650656.html pip install 或者 pip2 install 三方库失败一般是因为包不兼容要指定就可以了。 https://blog.csdn.net/crazytire/article/details/125964956
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 警告远程主机标识已更改 这个报错主要是因为远程主机的ssh公钥发生了变化两边不一致导致的
删除本地对应ip的在known_hosts相关信息
ssh登陆报错“IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!“问题原因及解决方法
https://huaweicloud.csdn.net/635641f3d3efff3090b5c7c7.html 在python3中,sys.maxint改为sys.maxsize. ‘dict‘ object has no attribute ‘has_key‘
已于 2022-05-08 10:35:30 修改
3378 收藏 2 分类专栏 Python 文章标签 py2 py3 版权 这个问题是py2和py3兼容性的问题
在py2中判断key是否属于dict的写法可以是
d{‘name’:‘abc’,‘location’:‘BeiJing’} if d.has_key(‘location’): print(d[‘location’]) 在py3中判断key是否属于字典的写法可以是
d{‘name’:‘abc’,‘location’:‘BeiJing’} if ‘location’ in d: print(d[‘location’]) ———————————————— 版权声明本文为CSDN博主「upDiff」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/dlhlSC/article/details/90299500 scrapy https://blog.csdn.net/qq_44907926/article/details/119531324 scrapy官方文档 https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html scrapy 里面的item转化为dataframe df pd.DataFrame(dict(item2), index[0])
字典转化为dataframe df pd.DataFrame(mydict, index[0])
必须先把item转为字典再转为dataframe。 如果是单条数据必须加 index[0] 多条则不用。 想起以前遇到的一个关于 pd.read_excel 的问题: import pandas as pd from urllib.request import urlopen
url “http://xxxxxxxxxx” #python3要加read,py2不用这里也是个点 df pd.read_excel(urlopen(url).read(),converters{‘字段1’;:str,‘字段2’:str})
如果运行报错就#Install xlrd 1.0.0 for Excel support Use pip or conda to 安装版本pip install xlrd1.1.0就可以了。 原来这个报错和SQLAlchemy版本有关系 这个版本是sqlalchemy版本的是1.4.3的版本 2.0的版本是不适用的
AttributeError: ‘Engine‘ object has no attribute ‘execute‘
https://blog.csdn.net/Deng872347348/article/details/129898331 pycharm菜单栏消失了双击shift搜索 menu’或者’菜单’即可显示菜单栏。 https://www.ycpai.cn/python/icrD9HxH.html 这个方法不错拿jsonpCallback里面的json filter re.findall(“(jsonpCallback.?().,response)[0] filterre.findall(jQuery.?((.*?));”, content)[0]
contentresponse.text.replace(‘\n’,‘’).replace(‘\r’,‘’) content response.text.replace(‘\n’, ‘’).replace(‘\r’, ‘’).replace(’ , ‘’) filterre.findall(“jQuery.?((.?));”, content) 正则匹配网页要去掉\n和\r不然可能会匹配不上。
.* 是贪婪模式倾向于获取最长的满足条件的字符串 .* ?是非贪婪模式倾向于获取最短的能满足条件的字符串。
如果json内部也有小括号的时候括号内部用.* 贪婪匹配 filterre.findall(“jQuery.?((.));”, content) filterre.findall(“jQuery.?((.?));”, content) linux设置开机自启动 在/etc/rc.local文件中添加自启动命令 测试了一下还可以蛮好用的 docker-compose 用pip安装
pip install docker-compose
https://www.itbulu.com/python-setuppy-egginfo.html mysql查询一小时内数据
SELECT * FROM table_name WHERE date_column DATE_SUB(NOW(), INTERVAL 1 HOUR); 看了几篇文章发现这个最好用就是jenkins任务一直卡着×不掉的用命令行清理
1、Manage Jenkins-Script Console系统管理-工具和动作-脚本命令行
Jenkins.instance.getItemByFullName(“清洗任务1”).getBuildByNumber(9711).delete();
清洗任务1是job名字9711是Build号 ———————————————— 版权声明本文为CSDN博主「萌翻天」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/qq_40308101/article/details/125806891 要停止所有 Docker 容器您可以运行以下命令
docker stop$(docker ps -a -q) 1 2 这个命令会停止所有正在运行的容器并且会忽略已经停止的容器。如果您想要删除这些容器可以使用以下命令
docker rm$(docker ps -a -q)
docker一条命令启动、关闭、停止、删除 所有容器
1.docker中 启动所有的容器命令 docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n 2) 2.docker中 停止所有的容器命令 docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n 2) 3. docker中 删除所有的容器命令 docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n 2) 4. docker中 删除所有的镜像 docker rmi $(docker images | awk ‘{print $3}’ |tail -n 2) 5. 更新容器为开机自启 docker update --restartalways mysql #设置MySQL为开机自启 6.根据容器的状态删除Exited状态的所有容器 sudo docker rm $(sudo docker ps -qf statusexited) docker 出现root也无法停止、删除的问题
解决
执行命令 aa-remove-unknown
https://blog.csdn.net/lau_jw/article/details/126598759 原来lanproxy服务端的端口对应等配置信息在这个地方 /root/.lanproxy 又get到一个新知识zfill
zfill的功能 为字符串定义长度如不满足缺少的部分用0填补 zfill的用法 用法newstr string.zfill(width) 参数width新字符串希望的宽度 In [14]: name ‘insane’ In [15]: new_name name.zfill(10) In [16]: print(new_name) 0000insane ———————————————— 版权声明本文为CSDN博主「Insane_Loafer」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/m0_48978908/article/details/119189964 获取汉字首字母拼音 from pypinyin import pinyin as py, Style as py_style
person_name_py “”.join([x[0] for x in py(‘李小白’, stylepy_style.FIRST_LETTER)]).upper() 为什么requests.get(url)得到的response不能使用简洁用法 response.xpath需要先用etree.HTML()方法过渡而scrapy中parse方法内却能直接使用response.xpath
requests和scrapy的response是两个类requests的没有封装xpath方法
https://zhuanlan.zhihu.com/p/40332579 查看目录总大小 du -sh ./root
du 参数 目录 -h单位以用户友好方式展示 -c: 统计目录文件大小 -a显示目录下所有的文件 –time显示目录文件修改的最后时间 –exclude排除某个目录 -s直接显示目录的使用大小 -BK以KB为单位显示目录大小 -BM以MB为单位显示目录大小 -BG以GB为单位显示目录大小 https://baijiahao.baidu.com/s?id1741054542770174942wfrspiderforpc docker exec -it my_ginx /bin/bash failed to create runc console socket: mkdir /tmp/pty179331520: no space left on device: unknown
应该是磁盘空间不够了
清理docker日志参考这篇文章 https://blog.csdn.net/WLPJLP/article/details/121371788
#!/bin/bash
echo 开始清理docker日志
#容器的路径 默认的就是下面的如果是自定义的docker的路径就改自己定的路径
CONTAINER_DIR/var/lib/docker/containers获取所有的容器日志文件
CONTAINER_LOGS$(find $CONTAINER_DIR -name *-json.log)#清理每个容器的日志
for LOG in $CONTAINER_LOGS; doLOG_FILE${LOG##*/}echo 容器的ID${LOG_FILE/-json.log/} 清理的日志文件$LOG_FILEcat /dev/null $LOG# 也可以使用- echo $LOG
done———————————————— 版权声明本文为CSDN博主「shareloke」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/WLPJLP/article/details/121371788 https://console.cloud.tencent.com/cns 改域名对应ip。每个子域名都可以对应不同IP 好用真方便 https://www.runoob.com/docker/docker-compose.html docker-compose.yml 配置文件 使用 Compose 命令构建和运行您的应用 在测试目录中执行以下命令来启动应用程序 docker-compose up 如果你想在后台执行该服务可以加上 -d 参数 docker-compose up -d zip 命令为压缩命令压缩后不覆盖源文件可以压缩目录一般后缀名为.zip用于压缩文件其语法格式如下
zip [选项] 文件名.zip /xxx/路径xxx/文件 1 常用参数选项如下
-v 可视化操作显示压缩的执行过程默认就是可视化 -q 静默操作不显示指令执行过程 -r 表示递归打包包含子目录的全部内容 -d 从压缩文件内删除指定的文件 -n n为一个数字压缩级别是从 1~9 的数字-1 代表压缩速度更快-9 代表压缩效果更好 -e 加密压缩文件 -u :追加文件到zip压缩包中 1 2 3 4 5 6 7 演示示例
zip -vr etc.zip /etc/ #压缩/etc/目录压缩文件名为etc.zip zip -d myfile.zip smart.txt #删除压缩文件中的指定文件 zip -e passwd.zip /etc/passwd #加密压缩需要输入密码 zip -u passwd.zip mypasww.txt #追加mypasww.txt文件到压缩包中 ———————————————— 版权声明本文为CSDN博主「MssGuo」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/MssGuo/article/details/117324818 调整服务器内核参数
① Linux 提供了 tcp_max_tw_buckets 参数当 TIME_WAIT 的连接数量超过该参数时新关闭的连接就不再经历 TIME_WAIT 而直接关闭
[rootkvm-10-115-88-47 ~]# cat /proc/sys/net/ipv4/tcp_max_tw_buckets 1.sort_values方法
sort_values(by, axis0, ascendingTrue, inplaceFalse, kind‘quicksort’, na_position‘last’)
①axis 如果axis0那么by“列名” 如果axis1那么by“行名” ②ascending: True则升序可以是[True,False]即第一字段升序第二个降序 ③inplace: 是否用排序后的数据框替换现有的数据框 True,或者False ④kind: 排序方法 ⑤na_position : {‘first’, ‘last’}, default ‘last’默认缺失值排在最后面 ———————————————— 版权声明本文为CSDN博主「Clyde_刘」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_51098806/article/details/115264798 Jenkins 时间输出如何设置打印时间为钟表时间而不是脚本运行时间 输出界面左边配置
Timestamps View as plain text System clock time Use browser timezone Elapsed time None mysql对NULL的判断 和 ! 运算符是不起作用的必须使用 IS NULL 和 IS NOT NULL mysql limit用法 LIMIT 初始位置记录数 其中“初始位置”表示从哪条记录开始显示“记录数”表示显示记录的条数。第一条记录的位置是 0第二条记录的位置是 1。后面的记录依次类推。 注意LIMIT 后的两个参数必须都是正整数。 比如 select * from test limit 2,5 就是从test表里第三条记录开始取一共取5条记录 mysql配置文件的server-id是4字节整数范围从0-4294967295。不能重复可以设置为ip的末端号。 XtraBackup 环境安装 https://blog.csdn.net/A___LEi/article/details/127661509
[rootcentos7 ~]# yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm [rootcentos7 ~]# yum -y install percona-xtrabackup-24 [rootcentos7 ~]# yum -y install qpress ##innobackupex支持压缩导出这里安装压缩工具
[rootcentos7 ~]# innobackupex -version ###如果出现如下提示表示安装成功我这里2.4.15 xtrabackup: recognized server arguments: --server-id11 --datadir/data/mysql_data --tmpdir/tmp --log_binbin.log --innodb_page_size8192 --innodb_buffer_pool_size2G --innodb_io_capacity4000 --innodb_flush_methodO_DIRECT --innodb_undo_tablespaces3 --innodb_log_file_size128M --innodb_log_buffer_size16777216 innobackupex version 2.4.15 Linux (x86_64) (revision id: 544842a)
使用物理备份恢复数据库 https://cloud.tencent.com/document/product/236/33363
下载并安装 XtraBackup 工具。 MySQL 5.6、5.7 请选择 Percona XtraBackup 2.4.6 及以上的版本下载地址安装介绍请参见 Percona XtraBackup 2.4 指引。 MySQL 8.0 请选择 Percona XtraBackup 8.0.22-15 及以上版本下载地址安装介绍请参见 Percona XtraBackup 8.0 指引。 pycharm配置add configuration 注意点 1.打开当前项目而不是把多个项目在一个窗口打开注意项目路径。 2.添加解释器环境的时候注意选择Script path,而不是Module name。 wget 可以断点续传真是太好了某云下载mysql备份文件url链接只生效12小时。下载一半失败了。发现可以续上省时间了。 只需要使用-c参数就支持断点续传了。
wget命令格式wget -c ‘备份文件下载地址’ -O 自定义文件名.xb 发现一件事xpath的时候都是从1开始计数的不是从0计数。 比如说td[1]、td[2]… linux解压zip文件到特定目录 unzip -d /temp test.zip
https://blog.csdn.net/weixin_44021888/article/details/126384301 把一个项目里特定几个模块使用setup打包成tar.gz文件。然后比如说在另一个项目pip install xxx.tar.gz就可以像安装python三方库一样使用这个xxx项目的模块。 如何把这个 xxx.tar.gz在该项目的容器里使用呢。 先把这个文件上传到git项目里。 在该项目的Dockerfile里写入 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone RUN mkdir -p /usr/src/app ENV PYTHONPATH/usr/src/app WORKDIR /usr/src/app COPY . /usr/src/app RUN pip install /usr/src/app/xxx.tar.gz RUN pip install -r /usr/src/app/requirements.txt
就可以在打包镜像的时候安装自己的包和python三方库了。 代码没找到指定库原来没指定就用0号库“Redis的默认库是0号库。用户在Redis中进行操作时,如果没有指定具体的数据库,那么默认会操作0号库 场景应该是当for循环正常结束则才运行else里的语句。反之当for循环没有正常运行则不执行else的语句。
长见识了python 里居然有 for…else语法。 for 临时变量 in 序列: 重复执行的代码 … else: 循环正常结束后要执行的代码
Break是终止循环一旦遇到break就代表循环是非正常结束的因为break是终止循环这个时候else之后的的代码是不执行的。Continue指的是退出当前一次循环继而继续下一次循环这样continue循环是正常结束的else之后的的代码是正常执行的。
参考文章https://blog.csdn.net/weixin_48728769/article/details/123796020 一交换机下接了两个无线路由器现在交换机的网段是192.168.0.x。 路由器1的网段是192.168.1.x路由器2的网段是192.168.2.x。 则路由器1与路由器2下的设备可以访问交换机下的设备即192.168.0.x网段。 而交换机下的设备不能访问路由器1和路由器2下的设备。
列如路由器2下的一windows主机192.168.2.66 可以直接通过ssh连接到交换机下的一Linux服务器192.168.0.77。
该windows主机可以ping通该Linux服务器即在192.168.2.66机器可以ping通192.168.0.77
但是在该Linux服务器不能ping通该windows主机即在192.168.0.77机器不能ping通192.168.2.66 实际工作中经常遇到一些需要很长时间才能完成的任务例如压缩一个40G的目录或者复制很大的文件。这些操作耗时很长操作人员一般需要一直等待直到它执行完毕。否则可能会因为电脑锁屏、服务器ssh链接断开而导致任务执行失败。
在linux系统里有一个命令screen可以很好地解决这个问题。可以通过screen将执行的命令放到screen后台任务里screen任务作为一个进程在服务器后台执行。设置好screen任务后可以退出服务器去做其他事情等时间差不多了再来查看放在screen的任务。
一般情况下只要没有人去kill你的screen任务进程服务器也没有关机或重启操作screen任务都会平稳运行。
screen的使用实现了长耗时任务的无人值守解放了操作者的双手节省了时间是IT民工必备的技能之一。
下边简单说下screen的用法 ———————————————— 版权声明本文为CSDN博主「CwSunlit」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_43557605/article/details/120265864
https://blog.csdn.net/weixin_43557605/article/details/120265864 docker ps -a 看到某个容器没起来状态 Exited (0) 2 hoours ago 这个时候一般重启容器就可以了 docker restart 容器id或容器名称 1.dataframe筛选 df df[df[‘person_id’]‘testid1234’] 2.筛选后定位 genderdf[‘gender’].iloc[0] 因为筛选后index不是0了所以要加个iloc[0]来定位。 df[‘gender’][0] 定位不到。 1.axis lambda和dropna默认都是axis0lambda的axis0是列操作dropna的axis0是行操作。 df.apply(lambda x: test_func(x),axis1) dfdf.dropna() mysql DATE_FORMAT: 格式化日期
DATE_FORMAT(NOW(),‘%b %d %Y %h:%i %p’) DATE_FORMAT(NOW(),‘%m-%d-%Y’) DATE_FORMAT(NOW(),‘%d %b %y’) DATE_FORMAT(NOW(),‘%d %b %Y %T:%f’) dataframe筛选案例
df_w_cal df_w[df_w[‘statistic_date’]dt.datetime.strptime(min_statistic_date,“%Y-%m-%d”).date()] make 编译 make install 安装 make install PREFIX/usr/local/share/reids 安装到特定目录 make distclean 清除上次编译为了下一次干净编译
make install PREFIX/usr/local/share/redis 之前使用安装包安装gcc 4.4.7然后make编译redis 2.8.9的时候报错猜想是不是gcc版本太低了。(其中cc链接自gcc) cc: error trying to exec ‘cc1’: execvp: 没有那个文件或目录
手动编译指定版本gcc Linux 安装指定版本GCC方法 https://blog.csdn.net/qq_33438733/article/details/79983141 https://blog.csdn.net/liboyang71/article/details/77152577
直接去/etc/yum.repos.d/CenOS-Base.repo配置yum’源然后yum install gcc。再编译redis就可以了。 yum安装gcc是4.8.5。 (结论要么就是gcc版本要么就是4.4.7那个安装方式没安全。) rpm -e 包名 rpm卸载软件 mkdir -p /usr/redis/redis-2.8.17/
-p参数父目录不存在的时候一并创建父目录 Python报错 ValueError: unsupported format character ‘?’ (0x5927) at index 134
原因一般是因为sql语句文本里有百分号%导致不能识别是输出内容还是特殊符号。 方案在文本百分号%后面再加个百分号%就可以了。 向下取整 int() 函数 四舍五入round() 函数 向上取整math.ceil() 分别取整数部分和小数部分math.modf() 这个写法有意思 source_ids ‘,’.join([“”x“” for x in df_source_id[‘source_id’].tolist()]) 用内网是真的快
导出mysql文件 nohup mysqldump --skip-lock-tables -h 192.168.1.2 -P 1314 -utest_user -p’test_password’ test_database test_biao_name test.sql
导入sql文件 inux下mysql导入sql文件方法1 进入linux命令命令行下 mysql -uroot -p 回车 输入密码 source fileName.sql 注意fileName.sql要有路径名例如source /home/user/data/fileName.sql
我服了我发现mysqldump命令加密码的时候生成的sql文件不能用。。可能和首行的无效输出信息有关系。 交互式命令可以。。。。。
sed -i ‘1,nd’ 文件名 删除文件 1到n行 headers_scrapy { ‘Content-Type’: ‘application/json’, ‘Authorization’: ‘Basic xxxxxxxxxx’, “Accept-Language”: “zh-CN,zh;q0.9” }
jenkins请求头里Authorization的值是 账号:密码 然后进行base64加密后的结果可以用来进行当jenkins爬虫的请求头 我傻了一定不能设置DNS为8.8.8.8这个是谷歌的DNS服务器速度太慢了之前只觉得好记忆没想到这个是外网的速度这么慢。。。。 kubectl describe pod pod_name -n namespace 看报错信息
k8s任务一直处于Pending状态是因为yaml文件里要求资源太高可以适当降低yaml文件里的资源要求。request的资源就被该任务锁住了其他任务不能用
Warning FailedScheduling default-scheduler 0/5 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn’t tolerate, 1 node(s) were unschedulable, 2 Insufficient cpu, 2 Insufficient memory. Warning FailedScheduling default-scheduler 0/5 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn’t tolerate, 1 node(s) were unschedulable, 2 Insufficient cpu, 2 Insufficient memory. Warning FailedScheduling default-scheduler 0/5 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn’t tolerate, 1 node(s) were unschedulable, 2 Insufficient memory, 3 Insufficient cpu. 可能因为网络等原因clone不下来可以循环50次自动克隆 for i in {1…50}; do git clone --depth1 http://xxxxxx.git; done 10天前日期 dt.datetime.today() - dt.timedelta(10) 安装cv2: pip install opencv-python
代码里导入cv2: import cv2 从数据库里找每条基金的最小成立日期select fund_id, min(statistic_date) statistic_date from fund_nv_data_standard group by fund_id 去除重复数据——drop_duplicates 去除指定单列或多列中的完全重复的项通过drop_duplicates()函数实现需要利用Pandas包。
其中
1、subset[] 表示整个dataframe基于[]内选定列进行数据重复内容识别可以添加多列数据进行识别。
1添加一列列名时表示对选中的单列数据进行重复数据识别
2添加多列时则表示识别多列数据同时重复的情况
2、keep‘’ 表示对选中的重复数据操作策略可选择的参数为’first’、last’和’False’三种。
1first’表示在识别的重复项中保留按照索引顺序的第一个内容其余删除
2last’表示在识别的重复项中保留按照索引顺序的最后一个内容其余删除
3False’表示删除所有重复项
3、inplace 表示对处理好的dataframe存储策略可选择参数为False和True
1False表示不对原始数据进行去重工作例如示例代码中data1内容不改变将处理结果赋予data参数中
2True表示去重工作直接在原始数据中进行操作例如示例代码中data1中去重操作会直接在data1中进行data不会被赋值。
data data1.drop_duplicates(subset[‘列名1’,‘列名2’], keep‘first’, inplace False) ———————————————— 版权声明本文为CSDN博主「羊羊麾下的发电站」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/gisaavg/article/details/124516669 confined. Dataframe 的 set_index 方法可以将一列设置为索引这样可以更方便地选择和操作数据。例如
复制 import pandas as pd
df pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6]}, index[‘a’, ‘b’, ‘c’]) df df.set_index(‘A’)
print(df) sort_values() 函数说明 pandas库的 sort_values() 函数可以对 Dataframe 的数据集按照某个字段中的数据进行排序。该函数可以指定列数据或行数据进行排序可以是单个也可以是多个。
https://blog.csdn.net/BlueWhale52/article/details/119187311?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167832983716800184120140%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167832983716800184120140biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_click~default-1-119187311-null-null.142v73insert_down3,201v4add_ask,239v2insert_chatgptutm_termdataframe%20sort_valuesspm1018.2226.3001.4187 nginx 报错nginx: [warn] the “ssl” directive is deprecated, use the “listen … ssl” directive instead nginx升级版本之后原来配置的所有ssl的站点全都报警告 解决办法 在nginx的配置文件中
将原来的ssl on注释掉或者删除 将原来的listen 443;修改成listen 443 ssl; 注意两点都需要如果只是将ssl on注释掉不修改listen测试语法的时候是没有告警重启nginx也没有问题但是访问网站的时候会显示网站不是安全链接即ssl配置没有生效。 ———————————————— 版权声明本文为CSDN博主「unreachableO」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_44972135/article/details/106621593
https://blog.csdn.net/qq_36908872/article/details/127284896 https://www.jianshu.com/p/ccf365361738 给阿里云服务器(Centos6.8 64位)配置https安装证书的时候报错了
nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/con.d/xxx.conf:8
大概意思是找不到或者没有安装OpenSSL但是我whereis openssl是能找到的那应该就是没有配置openssl
然后就重新配置一下
进入Nginx安装目录cd /usr/local/src/nginx-1.10.3 ./configure --with-http_ssl_module make cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak然后输入Y 覆盖旧的cp objs/nginx /usr/local/nginx/sbin/nginx 测试一下是否成功/usr/local/nginx/sbin/nginx -t 如图代表成功 重启Nginxcd /usr/local/nginx/sbin./nginx -s reload ———————————————— 版权声明本文为CSDN博主「闹灬爷」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/Maple_abao/article/details/82383004 https:// 走ip显示不安全走域名显示安全。 查看端口使用 netstat -lntp docker查看容器完整command的命令: 就是在显示容器列表的命令后面加上–no-trunc大概是不省略的意思 比如 docker ps -a --no-trunc
https://blog.csdn.net/drnrrwfs/article/details/124173679 防踩坑
防踩坑出现Docker挂载主机目录访问出现cannot open directory.: Permission denied… 解决办法在挂载目录后多加一个–privilegedtrue参数即可。
出现上面问题的原因是通常情况下Linux系统会把不安全的项禁止掉目录挂载的操作默认情况下被看作是不安全的行为。即在SELinux里面挂载目录被禁止掉了如果要开启我们通常需要使用–privilegedtrue命令来扩大容器的权限解决挂载目录没有权限的问题。其实上面这个过程可以理解为将容器内部的root拥有本地主机的root权限不然容器内部的root只是外部的一个普通用户。 ———————————————— 版权声明本文为CSDN博主「嵌入式技术」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_37926734/article/details/123278466 解决方案见116 SELinux is preventing /bin/touch from write access on the 目录 /home/jenkins_home.
***** 插件 catchall (100. 置信度) 建议 ********************************************
如果你相信 touch应该允许_BASE_PATH write 访问 jenkins_home directory默认情况下。 Then 应该将这个情况作为 bug 报告。 可以生成本地策略模块以允许此访问。 Do 暂时允许此访问权限执行 ausearch -c ‘touch’ --raw | audit2allow -M my-touch semodule -i my-touch.pp 报错Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: permission denied。
可能原因一使用了非root用户启用或连接docker Docker进程使用Unix Socket而不是TCP端口而默认情况下Unix socket属于root用户因此需要root权限才能访问。 复制代码
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中其中XXX为用户名。
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
https://www.cnblogs.com/leozhanggg/p/11730189.html
解决方案
防踩坑出现Docker挂载主机目录访问出现cannot open directory.: Permission denied… 解决办法在挂载目录后多加一个–privilegedtrue参数即可。
出现上面问题的原因是通常情况下Linux系统会把不安全的项禁止掉目录挂载的操作默认情况下被看作是不安全的行为。即在SELinux里面挂载目录被禁止掉了如果要开启我们通常需要使用–privilegedtrue命令来扩大容器的权限解决挂载目录没有权限的问题。其实上面这个过程可以理解为将容器内部的root拥有本地主机的root权限不然容器内部的root只是外部的一个普通用户。 ———————————————— 版权声明本文为CSDN博主「嵌入式技术」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_37926734/article/details/123278466 Docker docker selenium jenkins 并行跑自动化测试
https://testerhome.com/topics/16605 scrapy中关于Splash的使用: https://blog.csdn.net/Lijuhao_blog/article/details/89070929
为什么要学习Splash 我们经常使用scrapy框架编写爬虫代码站在巨人的肩膀上感觉很好但是一旦遇到网站用JavaScript动态渲染scrapy就显得有些力不从心了我们了解的selenium可以完成动态加载返回浏览器渲染后的页面今天我们不讲seleniumScrapy-Splash是一个Scrapy中支持JavaScript渲染的工具同样可以完成这件事下面我们来说说Splash如何与Scrapy进行对接。 ———————————————— 版权声明本文为CSDN博主「ljhyigehaoren」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/Lijuhao_blog/article/details/89070929 chpasswd命令真好用
runoobrunoob:~$ cat Dockerfile FROM centos:6.7 MAINTAINER Fisher “fishersudops.com”
RUN /bin/echo ‘root:123456’ |chpasswd RUN useradd runoob RUN /bin/echo ‘runoob:123456’ |chpasswd RUN /bin/echo -e LANG“en_US.UTF-8” /etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D
https://www.runoob.com/docker/docker-image-usage.html docker 文档 https://www.runoob.com/docker/docker-tutorial.html excel表格前面的0如何显示 1.打开excel表格 首先打开excel表格在需要的单元格上方单击右键选择“设置单元格格式”。
2.选择“文本” 在设置单元格格式对话框中数字分类选择“文本”选项确定即可在数字前方输入0。
3.完成 或者直接在01前方输入多一个”英文’号“回车即可成功显示前方的0。
https://jingyan.baidu.com/article/5d6edee2ec6dc4d8eadeeca6.html linux系统解决boot空间不足
ubuntu 1、查看当前使用内核版本号 uname -a完整版 uname -r精简版 2、查看已安装的内核版本号 dpkg --get-selections | grep linux 3、删除内核 apt-get purge …
centos 1、查看当前使用内核版本号 uname -a完整版 uname -r精简版 2、查看已安装的内核版本号 rpm -qa | grep kernel 3、删除内核 yum remove …
https://www.likecs.com/show-305926883.html
原文链接https://www.cnblogs.com/anzerong2012/p/6354436.html
我认为以后装系统要把/boot分区搞大点200M实在不够不然要一直删老内核。。。。。。 centos中如何安装中文输入法 使用命令 管理员权限运行yum install ibus-libpinyin安装若提示软件已经是最新版本就不用安装一般来说系统都会默认安装了ibus-libpinyin。然后是添加系统设置中添加中文输入法设置----Region Language界面下点击“”添加输入法选中“汉语中国” 回弹出下一个界面然后选择 “汉语Intelligent Pinyin”然后便可以在桌面上方的工具栏中进行输入法切换也可以使用shift切换。 ———————————————— 版权声明本文为CSDN博主「qq_41210639」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/qq_41210639/article/details/115263611
不用安装直接改设置真方便。 Centos7安装无线网卡驱动(No Wi-Fi Adapter Found):
进入QCA9377 目录下看看有什么版本
cd /lib/firmware/ath10k/QCA9377/hw1.0/ firmware-5.bin 和 firmware-6.bin 两个版本的固件文件
若是则删掉firmware-6.bin保留firmware-5.bin。
然后重启电脑wifi设备就又可以正常工作了。
https://www.cnblogs.com/wutou/p/16777165.html 真详细的centos安装教程但是为什么我的网络设置显示找不到wifi adapter。。。。不知道是不是和驱动有关系。解决方案见126
物理服务器安装CentOS 7操作系统 https://blog.csdn.net/qq_33427869/article/details/126668794
装centos前不能分区不然显示空间不够要先删除分区删除分区可以通过救援模式删。 磁盘分区后提示sda必须有一个gpt磁盘标签的解决办法。 https://mnews.68idc.cn/jiabenmake/qita/20150108163219.html 选择Troubleshoot选项。 选择Rescue a Centos system进入到救援系统。 模式下选择Continue继续进入系统。 此时就可以来到CD/DVD提供的文件系统下。而原本的磁盘系统则存放再/mnt/sysimage目录下。等待系统修复完成就可以通过chroot切换到磁盘系统文件系统下了。
怎么删除原本的分区因为原本分区跑系统的时候就运行了现在可以插个u盘救援模式就可以不管物理机的系统了相对于一个移动系统直接操作物理机磁盘。 通过蓝牙可以共享网络长见识了 1.安装centos系统。 如果过程中出现 Entering emergency mode exit the shell to continue. Type “journalctl” to view system logs. 解决方法
这时在提示符下输入以下两行命令
cd dev ls 在出现的几列字符中找到sdb和sdb#其中#代表某个数字sdb#表示系统为你正在使用的U盘分配的盘符。记下这个数字
输入reboot重启系统再选择USB启动 在出现的安装菜单中按tab(如果tab没反应按e有提示的按e键会在下面出现一列字符。
initrdinitrd.img inst.stage2hdABELCentOS\x207\x20x86_64 quiet
把上面的改为下面的 注意这个4就是刚刚记的数如果是其他的数就改为其他的
initrdinitrd.img inst.stage2hd:/dev/sdb4 quiet
按enter(回车)或者ctrl-x进入启动界面。 ———————————————— 版权声明本文为CSDN博主「hell_haita」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/hell_haita/article/details/102564387 安装liunx出现Entering emergency mode https://blog.csdn.net/hell_haita/article/details/102564387 ultraiso官网 https://cn.ultraiso.net/xiazai.html
制作u盘启动盘:UltralSO 软碟通制作U盘启动盘图解详细 完美避坑
https://blog.csdn.net/qq_43901693/article/details/95535051?ops_request_miscrequest_idbiz_id102utm_term%E5%88%B6%E4%BD%9Cu%E7%9B%98%E5%90%AF%E5%8A%A8%E7%9B%98utm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-95535051.142v73insert_down4,201v4add_ask,239v2insert_chatgptspm1018.2226.3001.4187 information_schema!!! 获取表、列信息 import sys sys.path.appen(r’C:\Users\DELL\Desktop\IndexCalculation’)
python脚本文件加入这两行路径为具体项目路径就可以在cmd里跑项目里的脚本了如果不加这两行那么有时候导入项目里的包时会报错。所以一定要在代码里标识项目路径然后再在cmd里运行脚本
import sys sys.path.append(‘…/projectname’) 这样更方便自动识别项目路径 python包 Sklearn安装 pip install scikit-learn
https://blog.csdn.net/Xingchen0101/article/details/126332660?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167720747116800186574045%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167720747116800186574045biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_positive~default-3-126332660-null-null.142v73insert_down3,201v4add_ask,239v2insert_chatgptutm_termsklearnspm1018.2226.3001.4187 #获取所有记录 fetchall–获取所有记录 fetchmany–获取多条记录需传参 fetchone–获取一条记录
sql_date “”“select MIN(statistic_date) from fund_month_risk “””
resengine_2g_base_du().execute(sql_date) ares.fetchone() allres.fetchall()
https://blog.csdn.net/weixin_43977279/article/details/124083828?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167720295216800225544102%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167720295216800225544102biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_positive~default-2-124083828-null-null.142v73insert_down3,201v4add_ask,239v2insert_chatgptutm_termpython%20mysqlspm1018.2226.3001.4187 argv: argumentsvalue 参数值 Python 中也可以使用 sys 的 sys.argv 来获取命令行参数
sys.argv 是命令行参数列表。
len(sys.argv) 是命令行参数个数。
注sys.argv[0] 表示脚本名。
#!/usr/bin/python
import sys
print ‘参数个数为:’, len(sys.argv), ‘个参数。’ print ‘参数列表:’, str(sys.argv) 执行以上代码输出结果为
$ python test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: [‘test.py’, ‘arg1’, ‘arg2’, ‘arg3’]
https://www.runoob.com/python/python-command-line-arguments.html 这种写法有意思
df_bd pd.DataFrame([infos[‘seriesData0’], infos[‘seriesData1’], infos[‘xAxisData’]],index[‘return_10k’, ‘d7_return_a’, ‘statistic_date’]).T pycharm 创建venv虚拟环境
https://www.likecs.com/show-306062469.html venv环境真好用apply 应用一下才生效不要把本机环境搞乱了
在pycharm的file-setting中选中project然后点击project interpreter的右侧点击添加按钮。
2输入基于哪个python版本创建虚拟环境环境的路径选择项目路径下点击ok就可以创建新的虚拟环境。
在项目路径下就有会生成一个venv路径 D:\Project\python\handson-ml-master\venv
项目的依赖库package保存在路径D:\Project\python\handson-ml-master\venv\Lib\site-packages下是这个项目工程的依赖库。
2点击manager resposities设置新的镜像 3设置下载库的网址镜像为豆瓣镜像原有的镜像太慢会出错
pip install -r requirements.txt 终端输命令时要先确定现在是虚拟环境不然有可能影响到本机实际环境。
(venv) F:\test\project_test (venv)来判断是虚拟环境
pip install -i http://pypi.douban.com/simple/ numpy 单条命令国内源 阿里源更好些
pip install -i http://pypi.douban.com/simple/ -r requirements.txt pip install pandas0.24.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
要添加信任才能用
https://mirrors.aliyun.com/pypi/simple/ 阿里源 TensorFlow错误TypeError: init() got an unexpected keyword argument ‘serialized_options’
问题其实很简单TensorFlow和protobuf的版本不匹配
我的TensorFlow和protobuf版本
tensorflow 1.13.0rc1
protobuf 3.1.0 1. 2. 3. tensorflow 1.13.0rc1需要的是protobuf 3.6.1所以不匹配
具体的解决步骤 pip3 uninstall protobuf
pip3 uninstall tensorflow
pip3 install tensorflow 1. 2. 3. 4. 5. 新的问题 paddlepaddle,百度自主研发,真正源于产业实践,易学易用,安全高效分布式深度学习框架。
paddlepaddle 1.2.1 has requirement protobuf3.1
很头疼两个深度学习框架需要的protobuf版本不一样。
所以自己决定吧。
支持国产 ©著作权归作者所有来自51CTO博客作者wx5e46005fc4d21的原创作品请联系作者获取转载授权否则将追究法律责任 TensorFlow错误TypeError: init() got an unexpected keyword argument ‘serialized_options’ https://blog.51cto.com/u_14691718/5141408
https://blog.51cto.com/u_14691718/5141408 tensorflow2.0.0 protobuf3.6.1 keras2.3.1 这一对好像可以
tensorflow 1.5 --------------- protobuf 3.4 tensorflow 1.12 --------------- protobuf 3.6 tensorflow 1.10 --------------- protobuf 3.6 tensorflow 1.0.0 --------------- protobuf 3.1 tensorflow 0.12 --------------- protobuf 3.1 tensorflow 0.11 --------------- protobuf 3.0.2 我的联想设备 f12进入boot manager menu。 f2进入bios 小技巧联想所有的笔记本基本都有boot manager的功能即可以直接按F12键打开引导管理器直接选择启动设备而不需要进入BIOS来设置引导 在安装系统的时候这样可以节省时间。 还有就是跑大量指标时redis与mysql配合使用来达到既保留了断点功能而且还可以多台电脑同时读取redis数据不用像读mysql那样需要分段跑指标避免了要一直为了平分数量而改sql。reids读一条弹一条比mysql快 pd.date_range获取月末日期真的很方便 date_range时间序列–时间切片
pd.date_range(start‘20220101’, periods10, freq‘M’) #输出 DatetimeIndex([‘2022-01-31’, ‘2022-02-28’, ‘2022-03-31’, ‘2022-04-30’, ‘2022-05-31’, ‘2022-06-30’, ‘2022-07-31’, ‘2022-08-31’, ‘2022-09-30’, ‘2022-10-31’], dtype‘datetime64[ns]’, freq‘M’
———————————————— 版权声明本文为CSDN博主「Python当打之年」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_42152811/article/details/124040862
https://blog.csdn.net/weixin_42152811/article/details/124040862?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167694531516800211539571%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167694531516800211539571biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_click~default-1-124040862-null-null.142v73insert_down2,201v4add_ask,239v2insert_chatgptutm_termdate_rangespm1018.2226.3001.4187 netstat -tunlp | grep 端口号是查看所查询的端口号情况
https://blog.csdn.net/m0_67392182/article/details/124290054?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167662950716782429740730%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167662950716782429740730biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_positive~default-2-124290054-null-null.142v73wechat,201v4add_ask,239v2insert_chatgptutm_termlinux%E6%9F%A5%E7%9C%8B%E7%AB%AF%E5%8F%A3spm1018.2226.3001.4187 disk_unit$(lsblk |egrep ^(v|s)d[a-z] |awk {print $4} |sed -n 1p |sed s/\(.*\)\(.\)$/\2/)
disk_space$(lsblk |egrep ^(v|s)d[a-z] |awk {print $4}|sed s/[a-Z]//|awk {disk[$1]} END {for(i in disk){print i}} |awk {sum $1};END{print sum})
echo 磁盘总空间为${disk_space}${disk_unit}linux计算磁盘总空间
https://blog.51cto.com/u_4820306/5424712lsblk |egrep ^(v|s)d[a-z] |awk {print $4}|sed s/[a-Z]//|awk {disk[$1]} END {for(i in disk){print i}} |awk {sum $1};END{print sum} split()函数介绍:
https://blog.csdn.net/weixin_46655865/article/details/115657910?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167635794916800182134365%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167635794916800182134365biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_positive~default-1-115657910-null-null.142v73control,201v4add_ask,239v1controlutm_termsplit%E5%87%BD%E6%95%B0spm1018.2226.3001.4187 问题twisted.python.failure.Failure OpenSSL.SSL.Error: [(‘SSL routines’, ‘’, ‘unsafe legacy renegotiation disabled’)] 没有添加请求头 只需要添加请求头即可 版本问题 需要查看自己两个库的版本pyOpenSSLcryptography
这两个库的版本必须完美卡在一个版本区间 比如 PyOpenSSL如果在21.0.0 以上 即失败 cryptography如果安装最新也会失败
执行一下命令
pip install cryptography3.4.8
pip install pyOpenSSL21.0.0———————————————— 版权声明本文为CSDN博主「始識」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/Zuko_chen/article/details/128125506
pip install cryptography3.4.8
pip install pyOpenSSL21.0.0step over 不进入函数直接下一步 strftime与strptime
https://blog.csdn.net/Han_torch/article/details/121251202?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167600034516800188592352%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257Drequest_id167600034516800188592352biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-7-121251202-null-null.142v73pc_search_v2,201v4add_ask,239v1insert_chatgptutm_termpython%E6%97%B6%E9%97%B4%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2spm1018.2226.3001.4187 loc匹配时index不一定是0这时候用iloc[0,0]刚好可以匹配上。
bond_list[[c.split(“,”)[0],self.df_mapping[self.df_mapping[‘bond_name’]c.split(“,”)[0]].iloc[0,0]], [c.split(“,”)[1],self.df_mapping[self.df_mapping[‘bond_name’]c.split(“,”)[1]].iloc[0,0]]]
http://t.csdn.cn/dIOHK http://t.csdn.cn/Xzwbw 原来nan是float类型 当判断是否为空时有时候为nan但是 if not my_value好像不能找出nan值而且试过 if my_valuenp.nan好像也无效。试过以下方式有效可以记录一下
1.numpy判断 import numpy as np nan float(‘nan’) print(np.isnan(nan))
2.pandas判断 import pandas as pd nan float(‘nan’) print(pd.isna(nan))
3.math判断 import math nan float(‘nan’) print(math.isnan(nan)) ———————————————— 版权声明本文为CSDN博主「羸弱的穷酸书生」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/zy1620454507/article/details/126950041 Python爬虫Scrapy的get请求和post请求 原文链接https://blog.csdn.net/mouday/article/details/83859158
(发现请求时https能出结果用http出不了结果第一次发现还有这种情况) data { “pageNo”: 1, “pageSize”: 100000, “nvTp”: “01” } requests.post(“url”,datadata,headersheaders)
平时一般data都是要加双引号但是这个加双引号不行不能加双引号。 不知道这个是不是就是json格式与表单格式的区别 总结 请求方式 使用方法 headers参数 参数 服务器端接收到参数 get Request - ?nametom args post FormRequest 有默认值 formdata{“name”: “Tom”} form post Request - bodyjson.dumps({“name”: “Tom”}) datajson post Request “Content-Type”: “application/x-www-form-urlencoded” bodyjson.dumps({“name”: “Tom”}) form post Request “Content-Type”: “application/json”, bodyjson.dumps({“name”: “Tom”}) data json ———————————————— 版权声明本文为CSDN博主「彭世瑜」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/mouday/article/details/83859158 scipy.optimize.minimize求解有无约束的最小化问题
http://t.csdn.cn/AKRPh MySQL mysql的sql查询语句中使用is null、is not null chromedriver国内源网站 https://registry.npmmirror.com/binary.html?pathchromedriver/ selenium定位加遍历html的div
#定位出同个路径下所有的 span 信息 data_1 driver.find_elements(By.XPATH,“//*[class‘mu-afte fl’]/ul/li/a/span”)
#定位出同个路径下所有的 num 信息 data_2 driver.find_elements(By.XPATH,“//*[class‘mu-num’]”)
#定位出同个路径下所有的 unit 信息 data_3 driver.find_elements(By.XPATH,“//*[class‘mu-unit’]”)
#进行遍历并打印出文本信息 for i in range(len(data_1)): print(data_1[i].text,data_2[i].text,data_3[i].text)
1、由于几个元素所在的位置都是在相同的结构下所以可以通过定位到一组元素再通过遍历进行获取
2、遍历的次数是获取的列表数据的长度
3、遍历后需要用 text来获取到文本信息
https://blog.csdn.net/OrangeTreeTest/article/details/124274980?ops_request_miscrequest_idbiz_id102utm_termselenium%20%E6%80%8E%E6%A0%B7%E8%BF%AD%E4%BB%A3divutm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-124274980.142v70control,201v4add_askspm1018.2226.3001.4187 selenium获取cookie后如何传递给requests?
https://coding.imooc.com/learn/questiondetail/33720.html
利用selenium携带cookies实现免登录 https://blog.csdn.net/weixin_43821172/article/details/105199481
cookie browser.get_cookies() browser.quit() cookie_dict {} for i in cookie: cookie_dict[i[“name”]] i[“value”] print(cookie_dict) selenium之options模块
https://blog.csdn.net/zzrs_xssh/article/details/106006939?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167342981416800192284911%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id167342981416800192284911biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-106006939-null-null.142v70control,201v4add_askutm_term21-selenium%E4%B9%8Boptions%E6%A8%A1%E5%9D%97spm1018.2226.3001.4187 判断是不是日期格式进而方便下一步区分处理
def is_valid_date(strdate): ‘’‘判断是否是一个有效的日期字符串’‘’ try: time.strptime(strdate, “%Y-%m-%d”) return True except: return False sql性能优化 SELECT statistic_date from my_table where fund_id‘000072’ and bianhao_id‘ece0ef5138aa677f5e4b2a883580e203’ 耗时0.2秒
SELECT statistic_date from my_table where bianhao_id‘ece0ef5138aa677f5e4b2a883580e203’
耗时42秒
增加了筛选条件耗时反而大大减少 使用BytesIO对象声明流为bytes类型read_excel报错 must explicitly set engine if not passing in buffer or path for io。
res requests.get(url) BytesIO pd.io.common.BytesIO df pd.read_excel(BytesIO(result.content))
https://blog.csdn.net/MacwinWin/article/details/107611256 https://blog.csdn.net/weixin_40647516/article/details/123783668 datafrme 条件筛选之query 好用
可以使用外部的变量 #查询温度在这两个温度之间的数据 high_temperature 15 low_temperature 13 1 2 3 df.query(“yWenduhigh_temperature yWendulow_temperature”).head() ———————————————— 版权声明本文为CSDN博主「北山啦」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/qq_45176548/article/details/112755795 merge根据某列合并其他列 pd.merge(left, right, how‘left’, on[‘key1’, ‘key2’])
left 左表合并对象DataFrame或Series right 右表合并对象DataFrame或Series how 合并方式可以是left(左合并), right(右合并), outer(外合并), inner(内合并) on 基准列 的列名 left_on 左表基准列列名 right_on 右表基准列列名 left_index 左列是否以index为基准默认False否 right_index 右列是否以index为基准默认False否 ———————————————— 版权声明本文为CSDN博主「侯小啾」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_48964486/article/details/123387448 df_tydf_ty.drop([‘type’,‘stype’],axis1) 删除多列
删除某列 dfdf.drop(‘org_full_name’,axis1) axis1删某列axis删除行
dataframe列的重命名 df.rename(columns {“old_name”: “new_name”}
pandas中如何提取DataFrame的某些列: http://t.csdn.cn/LeKBa 列dfdf[[‘course2’,‘fruit’]]
df_tydf_ty.dropna(subset[‘dimension’, ‘type_code’, ‘type_name’, ‘stype_code’, ‘stype_name’]) 某列为空则删除行 缺失值填充http://t.csdn.cn/5zssD
#使用列1填补列2的缺失值 df[2].fillna(df[0])
fillna默认会返回新对象但也可以对现有对象进行就地修改 df.fillna(0, inplace True) Python 忽略warning的输出方法: python -W ignore 这样就可以避免warnings的输出了但是切记不要盲目设置取消输出。 Set-Cookie 一天一个小技巧。 http://t.csdn.cn/aOZtD
session requests.session()应该也可以吧如果是会话类型 pycharm 替换 快捷键 CTRL R
r:replace f:find 上月初与本月初日期获取
last_month(dt.date.today().replace(day1) dt.timedelta(days-1)).replace(day1) now_monthdt.date.today().replace(day1) python 获取本周一日期 import datetime as dt monday_time dt.datetime.strftime((dt.date.today()-dt.timedelta(dt.date.today().weekday())), ‘%Y-%m-%d’) kubectl命令
https://blog.csdn.net/William0318/article/details/117021718 报错docker: Error response from daemon: endpoint with name xxx already exists in network bridge
第一步删除容器 docker rm -f xxx比docker kill xxx更有强制性如果kill不行就rm -f
第二步删除网桥 docker network disconnect --force bridge xxx 原来不仅要杀容器还要删除网桥啊
https://blog.csdn.net/DaChengXiaoShi/article/details/115173482#:~:text%E7%AC%AC%E4%BA%8C%E6%AD%A5%EF%BC%8C%E5%88%A0%E9%99%A4,force%20bridge%20xxx 正则表达式 \d 表示可以出现1次或是n次数字
. .? 表示可以“.”可以出现一次也可以不出现
\d* 表示可以出现0次或是n次数字 requests请求报错问题 HTTPSConnectionPool(host‘fund.chinaamc.com’, port443): Max retries exceeded with url: /product/fundLishijingzhi.do?fundcode000041 (Caused by SSLError(SSLError(“bad handshake: Error([(‘SSL routines’, ‘’, ‘wrong signature type’)],)”,),))
https://qa.1r1g.com/sf/ask/4314236881/
import requests
import ssl
from urllib3 import poolmanagerurl https://live.euronext.com/fr/product/equities/FR0000120271-XPARclass TLSAdapter(requests.adapters.HTTPAdapter):def init_poolmanager(self, connections, maxsize, blockFalse):Create and initialize the urllib3 PoolManager.ctx ssl.create_default_context()ctx.set_ciphers(DEFAULTSECLEVEL1)self.poolmanager poolmanager.PoolManager(num_poolsconnections,maxsizemaxsize,blockblock,ssl_versionssl.PROTOCOL_TLS,ssl_contextctx)session requests.session()
session.mount(https://, TLSAdapter())
res session.get(url)
print(res)https://github.com/psf/requests/issues/4775 logstash配置之自动重载配置文件 ./bin/logstash -f configfile.conf --config.reload.automatic
https://blog.csdn.net/qq_32292967/article/details/78622647 Logstash 参考指南关闭Logstash
https://segmentfault.com/a/1190000016592079?utm_sourcetag-newest canny算子 拼图验证码找缺口坐标(单图版)
https://blog.csdn.net/qq_41871957/article/details/113920564 Docker 容器常见故障排查及处理
https://blog.csdn.net/qq_41958579/article/details/107927140 k8s
警告失败调度80x8超过9m53s默认调度程序0/4个节点可用1个cpu不足1个节点有污点node-role.kubernetes.io/master:pod无法容忍2个节点有pod无法忍受的污点。