一次web环境迁移失误记录

原服务器环境:

手工搭建LNMP环境(CentOS7.2 PHP7.0  mysql5.7)

 

因为一些需求,想迁移到宝塔环境,直接安装宝塔:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

 

安装好bt面板,打开提示的网址登陆,但是访问不了。

当看到:

Warning:
If you cannot access the panel,
release the following port (8888|888|80|443|20|21) in the security group

立马去设置防火墙开放端口。

参考:
https://blog.csdn.net/weixin_34080571/article/details/93165595
https://blog.csdn.net/irokay/article/details/72717132
yum install iptables-services
vim /etc/sysconfig/iptables 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
systemctl restart iptables.service
iptables -L -n

或者直接指令添加:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
iptables -A INPUT -p tcp --dport 888 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

结果还是访问不了,搞了蛮久,朋友说服务器商的后台还要开放端口才行

又是一波端口开放操作,终于看到宝塔界面了。

 

进入界面,提示LNMP包环境(php5.6 nginx mysql5.6...)和 Apache环境,

然后手贱,没有备份数据库,直接点了安装。

 

然后原网站访问不了,数据库也访问不了...

 

经过十来分钟bt安装好了环境,立即添加网站,

然后把数据库mydata文件夹复制到宝塔数据库目录下/www/server/data:

cp /var/lib/mysql/database /www/server/data/database -r

配置账号,设置权限,所属用户mysql

 

原以为ok了,谁知数据库中有些表是Innodb

当使用InnoDB引擎时,一共会产生三种文件:

  • .ibd:包含每个table的数据和索引
  • .frm:用来描述table的结构等
  • ibdata1:包含所有table的字典和历史操作

即在data文件夹中,每个数据库分别是一个文件夹,此文件夹中包含每个table.ibd文件和.frm文件;同时,在data文件夹下,ibdata1文件会记录MySQL中所有InnoDB数据库中table的字典和历史操作。

所以一定要记得ibdata1这个文件。

注意还有innodb_file_per_table这个参数设置问题

参照:https://blog.csdn.net/u012278016/article/details/88073325

直接复制数据库文件过去访问不了,然后

cp /var/lib/mysql/ib_logfile* /www/server/data/
cp /var/lib/mysql/ibdata1 /www/server/data/

 

结果还是不行,卸载bt的mysql5.6,提示删不了,要用rm -rf 删除目录

安装了bt的mysql5.7,再复制数据库和ib_logfile0 ib_logfile1 ibdata1过去,

表还是打不开,提示表不存在table xxx doesn't exist

 

一波操作,修改cnf文件啊,添加innodb_file_per_table这个参数啊,

最后还是不行,连服务都启动不了

但是我没有删除/www/server/data/下的*.pid  *.err   *.index   *-slow文件,不知道行不行

 

然后把数据库卸载,参照:

mysql安装和完全卸载
https://blog.csdn.net/Seven_tester/article/details/82663949

yum list installed | grep mysql

删除已安装的mysql
执行命令:yum -y remove [第一步命令中出现的包名]

删除mysql相关文件
执行命令:find / -name mysql

执行命令:rm -rf [上面命令查出的结果目录]

 

重新安装MySQL Community Server 5.7,把数据库和ib_logfile0 ib_logfile1 ibdata1覆盖过去也不行。

 

最后还是把数据库文件和ib_logfile0 ib_logfile1 ibdata1打包到本地的mysql5.7下成运行了,

也能读取所有的表,也是奇怪了,为啥服务器上不行

赶紧本地导出sql文件,上宝塔安装mysql,再导入

 

网站访问500错误,因为tp5系统的伪静态问题,配置宝塔自带的伪静态

还出现:Warning: require(): open_basedir restriction in effect....

防跨目录导致,tp5是跨目录的

参考:https://www.cnblogs.com/grimm/p/11133242.html

删除user.ini

不行!

配置open_basedir=/home/wwwroot/xlboo.com/:/tmp/:/proc/

也不行!!

重新配置目录所属者权限,分配给www

还有一些其他操作不记得了,反正最后终于终于终于能访问了...

 

7.3免费版的宝塔有些坑的是,phpmyadmin安装了用不了,查看端口888没有生效,

换了端口也没见成功

 

 

 

其他参考:

linux MySQL Community Server 5.7.9 更换数据目录位置
https://blog.csdn.net/u012576527/article/details/52268318

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值