Linuxdeploy安装mysql遇到的一系列坑!!!

安装之前请先看安装链接下面的注意事项


前言

放假在家闲来无事,想用家里的旧安卓设备改成一台小型服务器。先搜索root教程将手机root,然后巴拉巴拉装软件、装系统,最终成功用xshell进入到装的centos系统中。

顺便提一句, XShell外文官方网址可以申请家庭/学校免费版的XShell和XFtp,大家可以试试看。

安装步骤

有很多博客都写有在Linuxdeploy下的linux系统中安装mysql,由于我选择的是centos7,所以我参考的下面这篇博客:

liunx deploy下的centos安装mysql5.7(请先阅读下面的注意事项)

其中有几点需要 注意注意注意

  1. 解压缩 tar 的时候可能会遇到报错
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

将命令改为 tar -xvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/可以解决

  1. 在第四步配置mysql的时候第一行代码使用以下代码,将mysql-5.7.27-aarch64文件夹的内容移动到mysql文件夹下,否则会在mysql文件夹中新创建一个mysql-5.7.27-aarch64文件夹,影响后面的配置
mv /usr/local/mysql-5.7.27-aarch64/* /usr/local/mysql
  1. 在第七步启动之前先在/usr/local/mysql中创建文件夹data
cd /usr/local/mysql
mkdir data
  1. 打开/usr/local/mysql中的my.cnf文件,在[mysqld]中添加skip-grant-tables,用于登录时不用输入密码
  2. 进入mysql修改完密码后记得回到my.cnf文件,将skip-grant-tables注释掉

坑!!!

推荐使用下载.tar.gz压缩包的方式安装mysql,真的省事儿(菜鸡发言)

  1. 首先,毕竟是在Android装的linux,有许多命令会报running in chroot, ignoring request,但在启动mysqld的时候虽然报了但没对我产生什么影响,所以就没管它,介意的可以参考文章:解决chroot运行的系统无法使用systemd服务

  2. Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
    或者
    Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)
    意思是mysql启动时索引不到mysql.sock文件,这个文件位置的设置在my.cnf

如果是用 rpm 的方法安装 mysql 可能会遇到这个报错
这个报错我目前没找到很适合的解决办法,网上有很多解决办法大家可以试试。我启动 mysql 就会报这个错,但改为启动 mysqld 不会报错。代码:service start mysqld

  1. [ERROR] Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root!

如果你是按照上面那篇博客来安装的MySQL那么大概率你不会碰到这个报错。
mysql是出于安全考虑,默认拒绝用root账号启动mysql服务。因此我们添加了mysql用户组mysql用户并在初始化mysql的时候设置 --user=mysql

  1. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).

在 mysql 启动的时候无法生成pid文件。此时检查my.cnf文件中pid-file指定的位置是否正确,我这里设置的是/usr/local/mysql/data/mysql.pid
可以参考 MySQL启动失败,未生成pid文件的解决方法 这篇文章寻找解决办法

  1. 我在查看日志文件mysql-error.log的时候看到此时有一条报错:Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist

查看data目录确实没有表,于是运行mysql_install_db命令,这是mysql初始化脚本,在5.7.6版本被移除。若你的mysql版本高于5.7.6,窗口会弹出一条报错并推荐你使用另一条命令mysqld --initialize,然后重新启动mysqld,运行service restart mysqld即可


然后进入mysql设置root用户密码,设置远程登录巴拉巴拉…

最后附上一张图,顺利进入mysql
成功进入mysql

祝大家成功!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香菇怎么叫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值