前言
放假在家闲来无事,想用家里的旧安卓设备改成一台小型服务器。先搜索root教程将手机root,然后巴拉巴拉装软件、装系统,最终成功用xshell进入到装的centos系统中。
顺便提一句, XShell外文官方网址可以申请家庭/学校免费版的XShell和XFtp,大家可以试试看。
安装步骤
有很多博客都写有在Linuxdeploy下的linux系统中安装mysql,由于我选择的是centos7,所以我参考的下面这篇博客:
liunx deploy下的centos安装mysql5.7(请先阅读下面的注意事项)
其中有几点需要 注意注意注意
- 解压缩 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/可以解决
- 在第四步配置mysql的时候第一行代码使用以下代码,将mysql-5.7.27-aarch64文件夹的内容移动到mysql文件夹下,否则会在mysql文件夹中新创建一个mysql-5.7.27-aarch64文件夹,影响后面的配置
mv /usr/local/mysql-5.7.27-aarch64/* /usr/local/mysql
- 在第七步启动之前先在/usr/local/mysql中创建文件夹data
cd /usr/local/mysql
mkdir data
- 打开/usr/local/mysql中的my.cnf文件,在[mysqld]中添加skip-grant-tables,用于登录时不用输入密码
- 进入mysql修改完密码后记得回到my.cnf文件,将skip-grant-tables注释掉
坑!!!
推荐使用下载.tar.gz压缩包的方式安装mysql,真的省事儿(菜鸡发言)
-
首先,毕竟是在Android装的linux,有许多命令会报running in chroot, ignoring request,但在启动mysqld的时候虽然报了但没对我产生什么影响,所以就没管它,介意的可以参考文章:解决chroot运行的系统无法使用systemd服务
-
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
- [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
- 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文件的解决方法 这篇文章寻找解决办法
- 我在查看日志文件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
祝大家成功!