2021年10月

Node.js中文网 http://nodejs.cn/

选择适合自己系统的安装包,复制安装包链接地址

以最新版本为例

cd /usr/local  //进入安装目录
wget https://npm.taobao.org/mirrors/node/v16.11.1/node-v16.11.1-linux-x64.tar.xz  //获取压缩包
tar -xvzf node-v16.11.1-linux-x64.tar.xz //解压缩
mv node-v10.15.3-linux-x64 node  // 修改解压包名称
ln -s /usr/local/node/bin/node /usr/bin/node  --加入node命令软链到环境变量
ln -s /usr/local/node/bin/npm /usr/bin/npm  --包管理工具npm软链到环境变量

如果你觉得npm慢的话,可以安装cnpm

npm install cnpm -g --registry=https://registry.npm.taobao.org

配置node文件安装路径

cd /usr/local/node
mkdir node_global
mkdir node_cache
npm config set prefix 'node_global'
npm config set prefix 'node_cache'

数据库备份

mysqldump这个命令相信大家都知道,但是实际使用过的人可能不多,再加上繁多的参数设置更是让人望而止步,除了项目负责人要对数据负责。
这里就简单记录一下他的常用方式:


//最直接的用法 -h连接地址 -u用户名 -p 密码 -P端口 -B 指定导出数据库 > 数据库备份名称-前面可以加上路径
mysqldump -hlocalhost -uusername -ppassword -P3306 -B database > backup_database.sql
//其他常用参数
   --all-databases ,-A 导出全部数据库。
   --allow-keywords 允许创建是关键词的列名字
   --tables 指定备份表名
   --single-transaction 导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。

不出意外的话,mysql5.6以后的版本在执行以上命令的时候系统会有如下提示

mysqldump: [Warning] Using a password on the command line interface can be insecure.

大致意思是,在命令行直接使用明文密码是不安全的。虽然可以用后输入密码的方式解决,但是数据库备份正常是要放在定时脚本去执行,没法手动输入密码。最直接的解决方法是,在my.cnf文件里加入以下配置

[mysqldump]
user=username
password=password

然后mysqldump 命令后面就不需要再加上 -u -p参数了。

mysqldump -hlocalhost  -P3306 -B database > backup_database.sql

定时脚本备份数据库,每日凌晨执行

vim backup.sh

#!/bin/sh    

# 数据库连接信息
DB_USER="user"
DB_PASS="pwd"
DB_HOST="host"
# 需备份数据库列表 多个按照空格分割
DB_NAME=("backup_test" "back_test2")
# mysqldump 路径、备份文件存储路径、日期
BIN_DIR="/usr/local/mysql/bin"  
BCK_DIR="/home/backup/mysql"
DATE=`date +%F`

for var in ${DB_NAME[@]};
do
  $BIN_DIR/mysqldump --opt --single-transaction --master-data=2 -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$var$DATE.sql
done

#删除超过7天的备份文件
BACKUPDIR="/home/backup/mysql/data" #定义备份文件路径
KEEPTIME=7 #定义需要删除的文件距离当前的天数
DELFILE=`find $BACKUPDIR -type f -mtime +$KEEPTIME -exec ls {} \;` #找到天数大于7天的文件
for delfile in ${DELFILE} #循环删除满足天数大于七天的文件
do
 rm -rf $delfile
done

恢复数据库

mysql恢复数据库大致有两种方法
1、mysql命令行

mysql -uroot -ppass;登录数据库
 mysql> use backup_db;
 mysql> source backup_db.sql;  //可以加上路径

2、不需要登录mysql直接恢复数据库

mysql -uroot -ppass backup_db < backup_db.sql; //需要注意的是,这里的命令是mysql,而不是mysqldump