分类 全栈工程师 下的文章

vmware workstation 15Pro + centos7:1810
1.安装centos7mini
2.进系统先yum update
3.把可能需要的依赖先装好
yum -y install net-tools perl gcc gcc-c++ perl net-tools kernel-devel-$(uname -r) make gcc kernel headers open-vm-tools-devel
4.虚拟机右键设置选项中添加需要共享的文件夹(不要有中文)
5.在虚拟机菜单中选择安装VMware Tools
6.进入虚拟机安装VMware Tools
mkdir /mnt/cdrom
mount -0 loop /dev/cdrom /mnt/cdrom
cp -r /mnt/cdrom /opt/
cd /opt/cdrom/
tar -zxvf VMwareTools*.tar.gc
cd vmware-tools-distrib/
./vmware-install.pl (安装过程如果缺了什么依赖就装什么依赖,如果提示是否覆盖都选择覆盖)

开启启动vmware:
1.win r -> shell:startup
2.把vmware快捷方式放进去
vmware启动时自动启动centos7:
1.修改vmware快捷方式的目标路劲为下面:
"C:Program Files (x86)VMwareVMware Workstationvmware.exe" -x "C:UsersadminDocumentsVirtual MachinesCentOS 7 64 位 (2)CentOS 7 64 位 (2).vmx"
第一个路径为vmware.exe路径,第二个路径为虚拟机的路径,如图:
1559619194.jpg

1.
adduser wayson //添加一个新用户,名字叫Sirius
passwd wayson //设置用户密码
gpasswd -a wayson wheel //给予sudo权限, 当权限不够时,可以用sudo
lid -g wheel //查询所有带sudo权限的用户
2.
修改/etc/ssh/sshd_config
Port 1314 //去掉#号,修改成自己想要的端口
PermitRootLogin no //阻止root用户登陆
AllowUsers wayson //允许指定用户使用SSH登陆
3.(可选)
仅用密钥登录,参考:
http://wayson.eeeasy.cn/index.php/archives/59/
4.生效
firewall-cmd --permanent --zone=public --add-port=1314/tcp
firewall-cmd --reload
systemctl restart sshd.service

温馨提示:密钥的生成不管是在客户端还是服务端,都是可以的
产生这个需求的原因是因为我想用谷歌浏览器的secure shell进行ssh终端连接,这样不管是什么系统,我都不用去装客户端工具,为了不用每次都输入登录密码,就改用密钥进行登录,也是为了安(zhuang)全(bi)


- 阅读剩余部分 -

redis安装

yum install redis php-redis

redis启动

redis-server --port 6379 & (&是后台静默运行)

redis设置密码

vi /etc/redis.conf
找到requirepass,去掉前面的#号,后面添加密码

重启redis

systemctl restart redis
或者:ps -ef|grep redis => kill pid **

redis客户端连接

redis-cli -h host -p port -a password

redis操作

flushall // 清除所有数据库的所有keys
llen name // 获取某个key的长度
keys name // 查看某个key的redis内容

删除key_开头的所有key

keys "key_*" | xargs del
详细文档参考:https://www.redis.net.cn/order/3545.html

方法一(暂时生效)

直接运行命令export PATH=$PATH:/usr/local/MATLAB/R2013a/bin ,使用这种方法,只会对当前回话生效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。

方法二(只对当前登陆用户生效,永久生效)

执行 vim ~/.bash_profile 修改文件中 PATH 一行,将 /usr/local/MATLAB/R2013a/bin 加入到 PATH=$PATH:$HOME/bin 一行之后(注意以冒号分隔),保存文件并退出,执行 source ~/.bash_profile 使其生效,这种方法只对当前登陆用户生效。

方法三(对所有系统用户生效,永久生效)

修改 /etc/profile 文件,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/MATLAB/R2013a/bin
export PATH

最后执行命令 source /etc/profile 或执行点命令 ./profile 使其修改生效。

rpm包安装直接用用yum install xx.rpm可以解决依赖问题
用rpm命令进行安装不会安装相关依赖

  1. 数据库需要操作时间的字段尽量用int(11),方便不同其他种类的数据库数据同步,也避免像datetime存储时时区不同造成的麻烦
  2. 数据库表默认要有sys_createtime,sys_updatetime,sys_ip,sys_status(用于区分数据的新旧,方便数据量大的时候把没用的旧数据搬到其他表格存着)
  3. 如果数据库表的内容很多,为了提高查询效率,可以水平分表,按照表数量取模(如5表,table_0,table_1,table_2,table_3,table_4,按取模结果进行查询或存储)
  4. 数据库表的垂直分表
    解决问题:表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。例如:

学生答题表tt:有如下字段:
Id name 分数 题目 回答
其中题目和回答是内容比较大的字段,id name 分数比较小。
为了查询快速,就会把id name 分数合成一章表

  1. 为了满足高并发,尽量不使用外键,只在代码中做好判断
  2. 字段设置一般都设置not null,有默认值,避免新建或更新数据时的开销还有索引优化
  3. 数据库操作不允许有delete,越是大型系统越要用数据迁移代替delete

关注这个问题一开始是因为做AB测试的时候发现cpu的占用率很高,一开始以为是nginx的问题,调了很久还是差不多,于是想会不会是php代码的问题,换成symfony官方demo做测试,结果还是一样,我就想会不会是symfony本身的问题,搜了下,果然symfony官网本身旧有关于性能优化的方案,跟着改进了下,发现cpu占用率从80%-100%降到20%-30%,主要分为以下几点:

  1. 使用OPcache字节代码缓存
  2. 配置OPcache以获得最佳性能
  3. 不要检查PHP文件的时间戳(记得生产环境要用apc_clear_cache()/opcache_reset()更新缓存)
  4. 配置PHP实际路径缓存
  5. 优化Composer Autoloader

详细参考:https://symfony.com/doc/current/performance.html

鉴于github.com的访问速度实在是慢的让人忍无可忍,加上私有项目必须给money,穷逼的我决定用码云:
由于之前已经使用过github了,把机器上的公钥复制出来,添加到码云里:
1.在"设置"->"ssh公钥"里面添加
2.点击右上角的加号,选择"从GITHUB导入项目",登录自己的github帐号就可以一键迁移了
3.在本地新建项目文件夹,进入文件夹,依次执行命令:
4.git init
5.git remote add origin git@gitee.com:XXXXX.git
6.git pull origin develop(本地开发环境只拉取develop的分支)

1.获取GitHub网站相应的ip
通过站长工具查询最小的TTL值的ip:请输入链接描述

需要获取ip的内容:
www.github.com
assets-cdn.github.com
github.global.ssl.fastly.net
注意: 我们可能得到多个ip,可以通过多次试验,选取TTL最小的一个;
这是我的:

13.229.188.59  www.github.com
13.229.188.59  github.com
151.101.228.133  assets-cdn.github.com
151.101.229.194  github.global.ssl.fastly.net

2.修改etchosts,在后面添加上面的代码
3.刷新dns缓存:
如果没装nscd服务,yum install nscd进行安装
需要刷新nscd服务就执行命令systemctl restart nscd就好了

备份原配置文件

[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

查看centos版本

[root@localhost yum.repos.d]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

配置为阿里镜像源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

设置缓存

yum makecache

更新镜像配置,可以看到阿里镜像源

[root@localhost yum.repos.d]# yum -y update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com
  • epel: mirrors.njupt.edu.cn
  • extras: mirrors.aliyun.com
  • updates: mirrors.aliyun.com
    ————————————————

版权声明:本文为CSDN博主「911__init__」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pysense/article/details/99736639

Navicat:
优点:适合用来查看数据,显示交互比较友好,特别是excel跟数据库的互导
缺点:建模功能较弱,sql处理转换bug较多速度慢;

mysql命令行:
适合用来导sql文件,导入导出速度都很快,适合大数据导入导出
常用命令:
导出指定的库:
mysqldump --opt -hlocalhost -u root -p platform > platform.sql
导出指定的表:
mysqldump --opt -hlocalhost -u root -p -t testdb --tables table_one table_two > test2.sql

mysql workbench:
适合用来建模,对建立模型关系,转换表结构都很方便,交互很好,其他的都很弱