1、关于数据库主从备份与读写分离
主服务器数据库的每次操作都会记录在二进制日志文件mysql-bin.xxx中。从服务器的I/O线程使用专用帐号登陆到主服务器中读取该二进制文件,并将文件内容写入到自己本地的中继日志relay-log文件中。然后从服务器的SQL线程会根据中继日志中的内容执行SQL语句。
这要求两台服务器有同样的初态。
利用mysql特性 配置实现 配置文件中(类似搭建集群 )主服务器中配置从服务器地址,开启二进制日志,创建从服务器数据库用户账号,主服务器作为master。从服务器作为slave 开启同步 配置所要备份的主服务器地址及可以链接主服务器的数据库账号等
读写分离 通过第三方工具,解析分离读写语句 实现分离 读一般在从服务器,写一定在主服务器。
2、https 协议 证书中心 下载证书 安装配置 在apache配置文件中 配置指定证书路径
3、phpmyadmin 链接远程数据库 在phpmyadmin 目录中找到 config.default.conf (usr/share/library/config.default.conf)配置 host项为远程数据库 地址
4、mysql 导出数据库 mysqldump -h地址(本地不需要)-u用户名 -p密码 数据库名 > 导出的文件名
5、文件夹给 apache权限 chown -R www-data:utb(用户名) / sudo chown -R www-data:www-data upload
6、asp命令 从一台服务器上传文件到另一台服务器或,从一台服务器下载文件到另一台服务器
scp -r 用户名@拥有文件的服务器地址具体到文件地址 用户名@接收文件的服务器地址具体到存放的地址
需知道目标服务器 用户及对应密码 也可通过 ssh 免密码登录 如本地要从远程服务器下载 文件 本地 .ssh文件夹中 id_rsa.pub 中的秘钥 加入 远程服务器中 .ssh文件夹中authorized_keys文件中 本地服务器即可免密登录远程服务器。
例: scp -r root@43.224.34.73:/home/lk /root 从远程服务器 43.224.34.73 下载 lk 到本地 /root 目录下
scp -r /root/lk root@43.224.34.73:/home/lk/cpfile 从本地上传 文件 lk 到 远程服务器 43.224.34.73 下的/home/lk/cpfile
7.ip2long(IP字符串):字符串ip转为整数 long2ip(IP整数):整数ip转为字符串ip ->可用于ip段访问限制
8.thinkphp5 命名空间注册 config-> root_namespace[
'extend'=>ROOT_PATH.'extend',
]
8.查看进程 命令 ps -aef | grep 8888
9. grep string filename 文件中查找 关键string
10.创建远程分支 已有分支上执行
git checout -b new-branch
git branch --set-upstream-to=origin/new-branch
git push --set-upstream-to=origin/new-branch
git branch -r 查看远程分支
linux复制指定目录下的全部文件到另一个目录中 :cp -r dir1/. dir2
mysql中,在sql语句后面加G表示将查询结果按列打印。默认情况下,mysql的查询结果是横向输出的,第一行是列头,后面是记录集.
筛选文件批量修改权限(此处为去掉可执行权限) find . -name '*.php' | awk '{print "chmod -x " $0}' |sh
批量杀死进程 ps -ef | grep string | awk '{print "kill -9 " $2}' |sh
查看跳转到文件某字符位置的10行 cat 26.log | grep -A10 'string'
PHP开启重写模块 sudo a2enmod rewrite
laravel sql 示例:
DB::connection()->enableQueryLog();
DB::table('menu');
$menu_pid = DB::table('menu')->whereIn('menu_id',$menu_id)->where('status',1)->where('pid','<>',0)->pluck('pid');
$sql = DB::getQueryLog();
sudo a2enmod rewrite