背景:本地部署测试环境的硬盘坏了,需要重新搭建。重新搭建的时候,遇到奇奇怪怪的问题,这里记录一些主要的奇怪问题和解决方案。
过程:重新买了快固态,然后开始重装。测试没有使用docker,简单的Jenkins和本地部署
jdk,git,maven等基础工具按网上搜索就能安装。
安装mysql:
安装的是mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
解压后,然后按顺序安装即可
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm
安装时,如果遇到缺少依赖,只需要yum provides所缺依赖,再安装对应版本即可
yum provides *libcrypto.so.10
yun install compat-openssl10-1:1.0.2o-4.oc8.x86_64
最后修改密码,然后修改成外部可以连接,以下命令是在服务器上登录mysql后执行的
update mysql.user set host="%" where user='root';
flush privileges;
恢复数据:
因为测试磁盘坏了,所以数据都没了,所以从生产的腾讯云恢复的数据。首先需要安装两个软件
- 安装Percona Xtrabackup,
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum list | grep percona
yum install percona-xtrabackup-24
- 下载 qpress 工具安装
下载地址:
https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
- 安装完了,再搭配腾讯云的物理备份恢复,参考地址:
https://cloud.tencent.com/document/product/236/33363
- 数据库安装完了,数据源也有了。需要修改mysql的数据目录,指向从腾讯云拉下的数据。
- 停止mysql:systemctl stop mysqld
- 修改/etc/my.cnf,指向新的地址
datadir=/home/txdata
socket=/home/txdata/mysql.sock- 重启mysql:systemctl start mysqld
重启的时候,由于把数据放到了/home目录下,这时可能会启动报错,如 指定目录没有权限,需要
chown -R mysql:mysql /home/txdata
mysql默认日志目录是/var/log/mysqld.log。如果有报错: [ERROR] InnoDB: os_file_get_status() failed on ‘./ibdata1’. Can’t determine file permissions,那就是需要关闭SELinux,因为这个默认是打开的,而且会精确控制用户的权限。由于设置起来很麻烦,这里直接关闭。这个不关闭,也可能会影响其他程序的安装使用,尤其是变更了目录之类的。
在/etc/selinux/config,修改为SELINUX=disabled。然后重启服务器即可
安装Jenkins,从官网下载最新版本的Jenkins,然后安装即可。也可以直接拉取安装
wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins --nogpgcheck
修改/usr/lib/systemd/system/jenkins.service,将java_home启用,并设置jdk17的解压目录。
如果觉得Jenkins的workspace挂载根目录过大,可以在修改/usr/lib/systemd/system/jenkins.service指定新目录,最后将目录指定给jenkins组
chown -R jenkins:jenkins/home/jenkins
如果通过git拉取项目时出现:无法连接仓库:Failed to setup credentials。这里可能是SELinux没有关闭。