随笔分类 - linux
linux相关
摘要:mysql数据库突然连接失败,启动不了的解决思路,可能是磁盘满了,需要删掉日志后重启才能自动恢复
错误号码2013
Lost connection to MySQL server at handshake: reading inital communication packet system error:2
用df命令查了下,果然磁盘满了,达到100%了,用du -hs 命令查询并删除一些大的日志文件:
删除了些没用的日志后,重新启动数据库还是出错,用df命令查询占用空间还是100%,需要reboot重启服务器才行。
阅读全文
摘要:centos7安装最新稳定GA版mysql-5.7.31实战全过程详解
ps:mysql最新GA版是5.7.31了,之前是5.7.28
1.查询数据库版本
mysqld -version
mysqld (mysqld 5.7.31)
2. 卸载自带的mariadb和mysql
# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
# rpm -qa | grep mysql
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
由于这个在国内下载速度很慢,上传速度也很慢
可以直接复制浏览器下载里面的url地址,在服务器上用wget命令直接下载
到/opt/mysql目录下(没有mysql目录则创建一个)执行:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
阅读全文
摘要:centos mysql忘记密码,修改密码
1.修改配置文件my.cnf
[root@localhost ~]# vi /etc/my.cnf
找到mysqld在之后添加
skip-grant-tables
保存退出
2. 重启mysql服务(必须重启后才能不需要密码进入)
systemctl restart mysqld
3.直接登陆mysql而不需要密码
mysql -u root (直接点击回车)
4.在mysql中输入
use mysql;
update user set authentication_string='admin1234' where user='root';
5.执行 flush privileges;
6.退出mysql ,到my.cnf中把开始添加的skip-grant-tables去掉
7.重启mysql服务 systemctl rstart mysqld
8.重新进入 mysql -u root -p
阅读全文
摘要:查看Linux服务器配置参数命令
Linux查看物理CPU个数、核数、逻辑CPU个数
一般阿里云买的服务器查询的都是逻辑cpu数
# cat /proc/cpuinfo| grep "processor"| wc -l
阅读全文
摘要:Mac下使用SSH连接远程Linux服务器
一、直接使用终端命令
打开Mac的终端,输入sudo -i,切换到root权限;(这步非必要,admin权限的用户不需要切换到root权限就可以直接使用了)
输入ssh root@ip 。(ip就是主机外网IP地址);
接下来会出现提示输入密码,然后输入你的Linux服务器的密码;
连接成功。
可以跟在本地命令行操作一个进行操作了
第一次可能会提示下面内容,输入yes回车后再输入服务器密码才能进入:
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
阅读全文
摘要:pm2好用的node进程管理工具,监控进程开机自启动,java进程配置,安装Nodejs环境
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
pm2 是一个带有负载均衡功能的Node应用的进程管理器.
当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。
常用命令:pm2 list 查看当前进程,pm2 monit 进程监控,pm2 startup pm2 save 开机自启动设置。
安装PM2
需要先安装Nodejs环境(文章后面附有安装教程),建议使用淘宝镜像cnpm
使用cnpm命令安装全局的pm2
cnpm install -g pm2
注:java 生态自动化监控一般用:prometheus
阅读全文
摘要:Redis主从复制、哨兵、Cluster三种模式
Redis作为缓存的高效中间件,在我们日常的开发中被频繁的使用,今天就来说一说Redis的四种模式,分别是「单机版、主从复制、哨兵、以及集群模式」。
可能,在一般公司的程序员使用单机版基本都能解决问题,在Redis的官网给出的数据是10W QPS,这对于应付一般的公司绰绰有余了,再不行就来个主从模式,实现读写分离,性能又大大提高。
程序员仅限于单机版和主从模式的crud是不行的,至少也要了解「哨兵」和「集群模式」的原理
单机
单机版的Redis就比较简单了,基本90%的程序员都是用过,官网推荐操作Redis的第三方依赖库是Jedis,在SpringBoot项目中,引入下面依赖就可以直接使用了:
阅读全文
摘要:mac电脑mysql常用命令
用命令行启动(重启用restart,停止用stop):
sudo /usr/local/mysql/support-files/mysql.server start
#linux下可能需要使用下面命令(注意是mysqld,后面有个d):
systemctl restart mysqld
用命令查一下mysql的安装路径信息:
ps -ef | grep mysql
#需要设置别名才能直接使用mysql命令
alias mysql=/usr/local/mysql/bin/mysql
#登录mysql
mysql -u root -p
#如果mysql -u root -p 使用不了,可以尝试下面命令:
/usr/local/mysql/bin/mysql -h localhost -u root -p
#查看数据库
mysql> show databases;
阅读全文
摘要:Mac OS terminal 查看内存使用情况的命令
在Mac OS里没有free这个命令
top -l 1 | head -n 10 | grep PhysMem
PhysMem: 13G used (2648M wired), 2816M unused.
如果想看其他的top中的信息,可以这样查询
top -l 1 | head -n 10
阅读全文
摘要:Mysql数据库用source命令导入SQL文件,利用navicat修改MySQL用户root密码,忘记mysql密码如何修改
Mac电脑,查看mysql安装目录
ps -ef | grep mysql
进入mysql命令行
/usr/local/mysql/bin/mysql -h localhost -u root -p
输入正确的密码后回车即可成功登录。(中文输入法要切换成英文输入法)
把SQL文件(例如:mytest.sql)上传到服务器的/tmp目录,执行下面的命令即可:
mysql> source /tmp/mytest.sql
利用navicat修改MySQL用户root密码
有时候Navicat连接了数据库,但密码忘记了,想修改数据库密码,没有源密码进入不到命令行界面,可以直接用Navicat进行修改
1.双击本地数据库(连接数据库),然后点击用户。2.选中要修改的用户(127.0.0.1和localhost是一样的),然后点击编辑用户
阅读全文
摘要:MAC版SecureCRT+SecureFX 安装说明,版本8.5.1,好用的ssh,文件传输工具
1.安装
双击 scrt-sfx-8.5.1-1764.osx_x64.dmg,弹出两个图标,拖入应用程序里就行了
2.finder -> 应用程序 右键,显示包内容 到目录 Contents/MacOS/ 替换里面的SecureCRT文件
阅读全文
摘要:mac苹果电脑使用相关,开发环境配置指南(持续更新)
苹果电脑装window虚拟机用那个比较好,看公司同事装了个,可以划一下就切换到window系统
virtualbox(免费),vmware fusion,parallels
mac安装软件,现在都是用brew 这个工具来装
brew install xxx (gnu工具 )
brew cask instal xxx (qq wechat) 等等,都是直接从软件的官网拉,会有md5 sha256校验,这个倒不用担心装到有问题的软件。
安装mysql客户端
搜索
brew search mysql
brew search Sequel-Ace
安装
brew cask install sequel-ace
安装虚拟机软件
brew cask install virtualbox
brew cask install virtualbox-extension-pack
阅读全文
摘要:自动支持图片webp格式压缩,图片服务器升级webserver
webp server 是开源免费的。
图片服务器升级,自动支持webp,得先升级openresty
用go写的 webserver 请求到jpg png gif这些,再缓存起来,外面请求还是jpeg这些,实际先到go返回的webp格式,当浏览器不支持webp的才返回源文件。
提升加载时间,图片从434KB减少到340KB,1/4(25%)的压缩率。
根据 caniuse 的统计情况,主流浏览器(接近80%)都支持 webp 了,如果遇到 Safari 这样的奇葩,直接返回原图。
最重要的一点是——我们访问的 URL 可以完全不用改变,访客访问的依然是xxx.jpg ,但是得到的图片格式为:image/webp,而且体积减少了不少(25%)。
阅读全文
摘要:用GitLab搭建自己的私有GitHub
现在git是开发人员的必备技能之一,github的代码仓库管理系统目前是最好的,下面搭建私有github系统的过程。
下载gitlab:
官网地址:https://about.gitlab.com/install/
Download a GitLab Omnibus package (recommended installation)
阅读全文
摘要:vim快速定位到某一行的几种方法和显示行号,定位匹配字符串,显示当前行信息的命令
vim打开文件默认光标会停留在文件开头,当文件行数比较多的时候很难快速找到行数进行修改,以下几种方法可以帮你快速定位到指定行。
1.命令模式下(没有输入i进行编辑前),:n 比如想到第65行,输入 ":65" 按回车即可定位到65行。
2.命令模式下(没有输入i进行编辑前),ngg 比如想到第86行,输入 "86gg" 或"86G" (这个不用按回车就直接定位到对应行了)
3.打开文件定位到指定行 vim filename +n 比如想到第65行,输入 vim filename +65 或者 vim +65 filename
阅读全文
摘要:mysql数据库表上百万记录优化思路杂谈
我的mysql数据库表上百万记录,插入数据的时候超慢,插入一笔都差不多将近1秒钟了
有没有做索引?数据量大了一般要做分区分表处理的,实时性要求高的一般要做缓存或者数据总线分层处理的
你用的是不是ssd硬盘?ssd硬盘比机械硬盘快很多倍。
数据库光靠调参数,以经提升到最快0.007秒多一笔插入的速度了
看来还是大数据技术比较重要
调整了那些参数提升这么多?
调了很多参数,mysql、springboot、shardingsphere、druid
可能需要评估一下如何加入Hadoop来进行存储及处理区块链的数据
阅读全文
摘要:对各种开发语言优劣的讨论,入门难度,IDE,大型网站并发性,java,golang,php,python,api接口,前后端分离
现在很多有高并发要求的 java c++的接口改成golang的
有个朋友公司就是把java写的接口改成golang的,听他说的是效率提高了上百倍,节省了大量服务器
java入门比较难,要达到熟练独立开发一个网站出来需要比较长的学习时间
php Python入门很容易,要做大型网站深入也很难
php Python零基础一星期就可以入门了
java你搞一个月门都没有找到
php做个小网站还是比较快的
Python做个小工具还是很好的,一个文件就可以直接运行起来了
金融相关的用java比较多,比较成熟了,招人也容易
现在流行前后端分离了
golang java 做API接口更有优势的
Python做科学计算,自动化,人工智能的更有优势
springboot springcloud 做API还是很不错的,之前的tomcat 那些容器搞得太复杂了
阅读全文
摘要:tensorflow需要pip安装的库
更换pip源到国内镜像
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
需要安装的库:
阅读全文
摘要:linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行
crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程(有没有在都执行杀进程的命令)才运行,超过20秒没有执行完成就判断为假死异常了,需要删掉再继续运行。这样各种情况都考虑到了。
阅读全文