Mr.Blog


  • 首页

  • 归档

  • 标签

  • 分类

  • 搜索

Linux 相关配置

发表于 2018-03-01 | 更新于: 2020-07-02 | 分类于 Linux

禁止 root 用户登录

  1. 新建 test 用户并设置密码

    1
    2
    useradd test
    passwd test
  2. 修改 ssh 配置文件,去掉 PermitRootLogin 前面的 # 号,并将 yes 修改为 no

    1
    2
    vi /etc/ssh/sshd_config
    PermitRootLogin no
  3. 重启 ssh 服务

    1
    service sshd restart
  4. 使用 su root 来获取 root 权限

修改 ssh 默认端口

  1. 修改 ssh 配置文件,去掉 Port 22 前面的 # 号,并添加为新的端口号 6666

    1
    2
    3
    vi /etc/ssh/sshd_config
    Port 22
    Port 6666
  2. 重启 SSH 服务

    1
    /etc/init.d/sshd restart
  3. 重启后使用 6666 端口测试能否登录,若可以,则把 Port 22 端口删除,如果不能登录,则查看防火墙是否开放 6666 端口

阅读全文 »

阿里云RDS数据库导出

发表于 2020-07-02 | 分类于 Aliyun

阿里云RDS数据库导出到本地 (MySql 5.7)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 安装 Percona XtraBackup 2.4
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24
# 安装 qpress
wget http://www.quicklz.com/qpress-11-linux-x64.tar
tar xvf qpress-11-linux-x64.tar
chmod 775 qpress
cp qpress /usr/bin

# 下载数据库备份文件 (xbstream 文件包 _qp.xb 后缀)
wget -c '<数据备份文件外网下载地址>' -O test_qb.xb

# 第一种(推荐):
# 1.备份旧数据
mv /data/mysql /data/mysqlbak
# 2.解包
cd /data/mysqlbak
cat test_qp.xb | xbstream -x -v -C ./
# 3.解压
innobackupex --decompress --remove-original ./
# 4.恢复解压好的备份文件
innobackupex --defaults-file=./backup-my.cnf --apply-log ./
# 5.执行如下命令,修改文件属主
chown -R mysql:mysql /data/mysql
# 6.启动MySQL进程
service mysqld start
# 7.登录账号密码与RDS数据库的一致

# 第二种:
# 1.解包
cat test_qb.xb | xbstream -x -v -C /home/mysql/data
# 2.解压
innobackupex --decompress --remove-original /home/mysql/data
# 3.查询解压后生成的文件
ls -l /home/mysql/data
# 4.恢复解压好的备份文件
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
# 5.为避免版本问题,需修改backup-my.cnf参数
vi /home/mysql/data/backup-my.cnf
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#rds_encrypt_data
#innodb_encrypt_algorithm
#redo_log_version
#master_key_id
# 说明
如果自建数据库使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加skip-grant-tables参数
#innodb_log_checksum_algorithm=strict_crc32
#redo_log_version=1
skip-grant-tables
# 如果自建数据库使用的是MyIAM引擎,且对系统表进行操作时报错(存储引擎相关),请按如下操作进行存储引擎的转换:
alter engine <表名> engine=myisam;
# 6.执行如下命令,修改文件属主,并确定文件所属为MySQL用户
chown -R mysql:mysql /home/mysql
# 7.执行如下命令,启动MySQL进程
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &

Beanstalkd 队列

发表于 2019-08-31 | 更新于: 2020-07-02 | 分类于 PHP

场景:订单超时事件、礼品券过期事件, 类似这些场景的, 都可以使用延迟队列来处理, 由于 beanstalkd 是单进程, 可以考虑结合 workerman 创建多进程来处理任务

文档地址

https://www.kancloud.cn/vson/php-message-queue/891904

安装
1
2
3
4
5
6
7
8
wget https://github.com/beanstalkd/beanstalkd/archive/v1.11.tar.gz
tar -zxvf v1.11.tar.gz
cd beanstalkd-1.11
make && make install
#查看版本
beanstalkd -v
#启动 - 若 127.0.0.1 设为 0.0.0.0, 则都可以连接
beanstalkd -l 127.0.0.1 -p 11300 -b /data/beanstalkd/binlog &
相关工具
1
2
3
4
5
6
7
8
9
10
11
# beanstalk CLI 工具
wget https://github.com/src-d/beanstool/releases/download/v0.2.0/beanstool_v0.2.0_linux_amd64.tar.gz
tar -zxvf beanstool_v0.2.0_linux_amd64.tar.gz
cd beanstool_v0.2.0_linux_amd64/
./beanstool stats

# beanstalkd 可视化界面
wget https://github.com/xuri/aurora/releases/download/2.2/aurora_linux_amd64_v2.2.tar.gz
tar -zxvf aurora_linux_amd64_v2.2.tar.gz
./aurora
#需开放对应的端口,如果是搭建在虚拟机,主机需要访问时,需配置 aurora.toml, 配置 listen 的监听IP为虚拟机IP 即可, 切记, 配置的IP为 ip addr 命令下的IP, 如果是阿里云服务器, 配置的是私有IP, 访问的时候使用公网IP + 端口
阅读全文 »

PHP 商品SKU

发表于 2019-12-23 | 分类于 PHP

商品SKU
ps: 暂时只有新增, 后续补充编辑

创建相关表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CREATE TABLE `goods` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品ID',
`goods_title` VARCHAR(128) NOT NULL COMMENT '商品标题',
`generate_time` DATETIME NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表';

CREATE TABLE `goods_sku` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'SKU ID',
`goods_id` INT(11) NOT NULL COMMENT '商品ID',
`title` VARCHAR(255) NOT NULL COMMENT '集成名称',
`price` DECIMAL(11,2) NOT NULL COMMENT '价格',
`stock` INT(11) NOT NULL COMMENT '库存',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品SKU信息表';
*
CREATE TABLE `goods_sku_serial` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`goods_id` INT(11) NOT NULL COMMENT '商品ID',
`goods_sku_id` INT(11) NOT NULL COMMENT '商品SKU ID',
`goods_spec_type_id` INT(11) NOT NULL COMMENT '商品规格类型ID',
`goods_spec_type_name` VARCHAR(32) NOT NULL COMMENT '商品规格类型名称',
`goods_spec_value_id` INT(11) NOT NULL COMMENT '商品规格类型值ID',
`goods_spec_value_name` VARCHAR(32) NOT NULL COMMENT '商品规格类型值名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='SKU与规格关系表';

CREATE TABLE `goods_spec_type` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '规格类型ID',
`goods_id` INT(11) NOT NULL COMMENT '商品ID',
`type_name` VARCHAR(32) NOT NULL COMMENT '规格类型名称',
PRIMARY KEY (`id`) USING BTREE,
KEY `goods_id` (`goods_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品规格类型表';

CREATE TABLE `goods_spec_value` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '规格项ID',
`goods_id` INT(11) NOT NULL COMMENT '商品ID',
`spec_type_id` INT(11) NOT NULL COMMENT '规格类型ID',
`value_name` VARCHAR(32) NOT NULL COMMENT '规格项名称',
PRIMARY KEY (`id`) USING BTREE,
KEY `goods_id` (`goods_id`) USING BTREE,
KEY `spec_type_id` (`spec_type_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品规格项表';
阅读全文 »

MySQL SQL 查询相关

发表于 2019-12-23 | 分类于 MySQL

MySql COUNT 加 IF 条件

1
2
3
#以下两条SQL查询结果一致
SELECT COUNT(1) FROM user WHERE account_status = 0;
SELECT COUNT(IF(account_status = 0, true, null)) FROM user;
阅读全文 »

Linux 特殊转义字符

发表于 2019-09-30 | 分类于 Linux
特殊转义字符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# 格式: 
echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
# 其中41的位置代表底色,36的位置是代表字的颜色
echo -e "\033[41;36m something here \033[0m"

# 字符含义
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \33[37m 设置前景色
\033[40m -- \33[47m 设置背景色
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
\x1b[2J\x1b[$;1H $表示行位

# XX 表示下面的数字, ascii code 是对颜色调用的始末.
\033[XX; m …… \033[0m

# 字颜色: 30-37
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色

# 字背景颜色范围: 40-47
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色

# 字体加亮颜色: 90-97
90:黑
91:红
92:绿
93:黄
94:蓝色
95:紫色
96:深绿
97:白色

# 背景加亮颜色范围: 100-107
100:黑
101:深红
102:绿
103:黄色
104:蓝色
105:紫色
106:深绿
107:白色

MySQL、MongoDB 数据库备份

发表于 2019-09-30 | 分类于 Other
  1. 线上服务器自动备份数据库
  2. 内网自动备份数据库及下载线上服务器的数据库备份文件
  3. 本地运行PHP脚本,通过 SSH2 连接内网打包数据库备份文件并下载
服务器 Host Port 备份目录
线上 192.168.0.7 22 /data/backup
内网 192.168.0.9 22 /data/backup
阅读全文 »
1…567…15
Mr

Mr

懒........

102 日志
21 分类
56 标签
RSS
Links
  • Novnan
  • 挨踢Blog
  • Eagle
  • Timber
  • 谢炳南
© 2020 — 2021 Mr
0%