1.整理 后台执行脚本
2.整理 rundeck 视频 部署
3.整理 crontab 每隔10s
4.整理 软连接 场景 坑
5.二进制部署mysql
6.重新部署
7.部署dbeaver 打通 mysql
1.整理 后台执行脚本
后台执行后命令有三个,分别是:
./test.sh & nohup ./test.sh & nohup ./test.sh > /root/test.log 2>&1 &
一般使用第三条
[root@aliyun ~]# nohup ./show.sh >> ./show.log 2>&1 & #输出重定向 [4] 18637 [root@aliyun ~]# [root@aliyun ~]# tail -F show.log #实时接收输出内容 nohup: ignoring input Thu Nov 21 17:07:58 CST 2019 Thu Nov 21 17:08:08 CST 2019 Thu Nov 21 17:08:18 CST 2019 Thu Nov 21 17:08:28 CST 2019 Thu Nov 21 17:08:48 CST 2019
2.整理 rundeck 视频 部署
https://www.bilibili.com/video/av35466584?from=search&seid=1197620829255678947
3.整理 crontab 每隔10s
Linux自带的任务调度工具 crontab 的调度单位分别是 分、时、日、周、月 最小的划分粒度是分钟,因此不能解决秒级别的调度问题,
* 代表每次,如 * / 6 代表每6分钟执行一次
但是换一种思路,我可以把调度代码包在循环体中,这个循环体执行6次,每次sleep 10s ,加起来就是分钟,即每分钟执行6次,每次间隔10秒
#!/bin/bash for((i=0;i<6;i++)); do date sleep 10s done
这样打印出来的结果是间隔10秒
[root@aliyun ~]# ./show.sh Thu Nov 21 17:19:23 CST 2019 Thu Nov 21 17:19:33 CST 2019 Thu Nov 21 17:19:43 CST 2019 Thu Nov 21 17:19:53 CST 2019 Thu Nov 21 17:20:03 CST 2019 Thu Nov 21 17:20:13 CST 2019
4.整理 软连接 场景 坑
软连接的使用:ln -s 源文件路径 目标文件路径
[root@aliyun ~]# ln -s test.txt test [root@aliyun ~]# ll total 24 -rw------- 1 root root 5 Nov 21 17:03 nohup.out -rw-r--r-- 1 root root 45 Nov 12 23:21 print.sh -rw-r--r-- 1 root root 196 Nov 21 17:08 show.log -rwxr--r-- 1 root root 58 Nov 21 17:07 show.sh drwxr-xr-x 2 root root 4096 Nov 17 10:24 size.log lrwxrwxrwx 1 root root 8 Nov 21 17:23 test -> test.txt -rwxr-xr-- 1 root bigdata 198 Nov 18 11:47 test.txt [root@aliyun ~]#
使用场景:
1. 作为源文件的快捷方式存在,好处:升级源文件的时候只需要重新创建软连接,注意:环境变量中不能写源文件的路径,必须写软连接文件
[root@aliyun~]# ll total 5 lrwxrwxrwx 1 root root 8 Nov 21 17:23 mysql -> mysql5.6 drwxr-xr-x 2 root root 6 Nov 20 21:33 mysql5.6 #低版本部署 drwxr-xr-x 2 root root 6 Nov 20 21:33 mysql5.7 #通过软连接来切换升级文件 drwxr-xr-x 3 root root 44 Nov 17 23:13 ruozedata -rw-r--r-- 1 root root 846 Nov 17 23:12 ruozedata.zip
2. 作为数据盘在系统盘中日志写入目录的软连接,好处:日志写入和存储多个文件需要占用大量的磁盘,把日志的存储位置换到了数据盘中
mkdir /data01/log/ #创建数据盘下的日志目录 mv /var/log/hbase /data01/log/ #移动系统盘的日志文件到数据盘 ln -s /data01/log/hbase /var/log/hbase #数据盘的日志文件再软连接到系统盘
坑:
软连接文件创建后的文件和源为文件权限不同,必须注意和修改软连接文件和目标文件的权限
建议:
在创建软连接的时候,源文件路径和目标文件路径推介使用绝对路径
5.二进制部署mysql
https://github.com/Hackeruncle/MySQL/blob/master/MySQL%205.6.23%20Install.txt
京东云下部署代码:
scripts/mysql_install_db \ --user=mysqladmin \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data
必须要装三个环境:
yum install -y perl yum install -y autoconf yum install -y libaio
6.重新部署
1. 删除压缩文件和数据文件
rm -rf arch/* data/*
2. 重置执行脚本文件
scripts/mysql_install_db \ --user=mysqladmin \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data
7.部署dbeaver 打通 mysql
修改用户密码:
update user set password=password('ruozedata') where user='root';
查看用户权限信息:
select user,password,host from user;
给用户添加权限:
grant all privileges on *.* to root@'%' identified by 'ruozedata'; flush privileges; #刷新权限
DBeaver连接Mysql:
8. 补充
为了保证 ip 地址的安全性和可用性
1. 在 linux 的 /etc/hosts 文件中配置 内网ip 地址和主机名的映射环境,这样在shell脚本或者代码中使用主机名替代 ip 使用
2. 如果是云主机,在windows中的hosts文件中配置外网ip地址和主机名的映射
注意:
hosts文件中的前两行切记不能删,否则可能带来bug