闲置一加1手机编译Mysql8.0.11安装Java环境跑爬虫

前因: 有一闲置一加1手机, 看很多大神在手机上跑Linux, 玩各种炫酷操作, 我也要玩玩

直接安装MySQL, MariaDB报错, 才尝试编译的, 还真的编译成功了, 就记录下, 写给爱折腾的人

手机配置: 一加1 64G黑, CPU 4核心, 内存 3G, 比阿里云低配的配置高多了, 就利用起来

建议在不用的手机上测试, 玩废不负责的

环境准备:

0, 以下1,2,3操作有变砖风险, 请谨慎操作, **其他方式开始root权限也行, 可跳过1,2,3**, 我用的底包是氢OS
1, 刷  twrp recovery( 最新版TWRP 3.2.1-0 ), 其他方式达到这个目的也可以
2, 刷LineageOS, 还是选择最新版lineage-15.1-20180625-nightly-bacon-signed.zip
3, 刷su插件addonsu-15.1-arm-signed.zip
4, 开启su: 设置 --> 系统  --> 关于手机 --> 版本号( 点击 ), 提示已开启 "开发者选项", 返回上一级 --> 开发者选项  --> Root授权 --> 仅限于应用
5, 安装软件: linuxdeploy 支持多种linux环境, juicessh 手机版SSH连接工具, 最后使用, 这两个自行下载安装, 第一个github有打包好的
6, 使用linuxdeploy初始化环境, 我选择的是Ubuntu 18.04, 这个不清楚怎么弄的, 自行度娘

下载地址:

TWRP 3.2.1-0

lineage-15.1-20180625-nightly-bacon-signed.zip

addonsu-15.1-arm-signed.zip

以上提供的是一加1手机所使用版本, 其他手机不能使用, 请去官网找对应型号

安装所需的软件并编译

0, 启动Ubuntu, Win中使用SecureCRT( 其他工具也一样 )连接, IP 在 linuxdeploy界面中可以看到
1, 安装编译MySQL所需依赖
sudo apt install git cmake make gcc g++ libssl-dev libbz2-dev libreadline-dev libncurses-dev p7zip wget
2, 下载mysql源码,并编译, 选择的源码是: Generic Linux (Architecture Independent), Compressed TAR Archive 8.0.11
cd ~
mkdir src & cd src
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11.tar.gz
tar zxvf mysql-8.0.11.tar.gz
cd mysql-8.0.11
mkdir build & cd build
# 生成Makefile, 由于mysql8.0.11依赖boost1.66.0, apt里面没有这个版本, 这里使用编译时自动下载的方式, 也可以下载好boost_1_66_0.tar.gz放入/home/android/src目录, 生成时就不用在下载, 会自动校验并解压好,  如果提示还少依赖, 根据提示安装即可
cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/android/src 
# 开始编译, 我这里编译使用的近5个小时, 时间太久, 请5小时后再回来
make 
# 安装到指定路径, 你也可以默认安装 make install
make DESTDIR=/home/android/db/mysql instal

以上编译安装完成, 最终mysqld的路径为: /home/android/db/mysql/usr/local/mysql/bin/mysqld, 这个层级太深了, 修改最终路径为/home/android/db/mysql/bin/mysqld, 命令如下:

cd ~/db/mysql
# 请注意最后的一个 "."
mv usr/local/mysql/* . 
rm -rf usr
ls  # 出现以下内容说明成功
LICENSE  LICENSE-test  README  README-test  bin  docs  include  lib  man  mysql-test  share  support-files

初始化数据并启动

1, 初始化编译好的MySQL
cd ~/db/mysql
# 查看路径并记录
pwd # 得到结果: /home/android/db/mysql
# 这里一定要使用sudo, 不然初始化不成功
sudo bin/mysqld --initialize --basedir=/home/android/db/mysql --datadir=/home/android/db/mysql/data
# 观察日志,密码在日志里面, 如下:
# [Note] [MY-010454] [Server] A temporary password is generated for root[@localhost](https://my.oschina.net/u/570656): vwnj0i*VRrtd
# vwnj0i*VRrtd 就是初化密码, 必须记关, 首次登陆需要, 然后修改密码即可
# 配置my.ini, 内容较多在下面
# 由于是使用sudo初始化的, 需要把data目录权限修改为当前用户
sudo chown -R android:android data
# 启动
bin/mysqld --defaults-file=my.ini
# 出现如下日志, 说明启动成功
[Server] /home/android/db/mysql/bin/mysqld (mysqld 8.0.11) starting as process 10624 # 10624是进程号, 每个系统不一样
2, 测试数据库
# 新建一个SSH接连
cd ~/db/mysql
bin/mysql -uroot -p
# 输入初始化数据库时的密码
# 修改密码, 不然无法执行任何命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码';
# 查看默认数据库
show databases;
# 得到以如下结果
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)

以上测试完成, 数据库没有问题, 可以把启动命令写入脚本, MySQL bin目录配置PATH, 这里不演示, 自行解决

3, my.ini文件内容
[client]
port = 3306
default-character-set=utf8mb4
[mysql]
no-auto-rehash
default-character-set=utf8mb4
[mysqld]
port = 3306
basedir = /home/android/db/mysql
datadir = /home/android/db/mysql/data
character-set-server=utf8mb4

配置Java环境

1, 下载arm版的Java8, 地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2, 一加1手机支持的版本是: Linux ARM 32 Hard Float ABI 3, 配置

cd ~
mkdir dev & cd dev
# 下载好的jdk-8u171-linux-arm32-vfp-hflt.tar.gz文件使用WinSCP上传到手机~/dev目录
tar zxvf jdk-8u171-linux-arm32-vfp-hflt.tar.gz
# 会自动解压到jdk1.8.0_171目录
cd jdk1.8.0_171
pwd
# 得到 /home/android/dev/jdk1.8.0_171
# 配置JAVA_HOME
vi ~/bashrc
# 在文件结尾加入如下命令
export JAVA_HOME=/home/android/dev/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
# 保存退出
# 使用环境变量升效
source ~/bashrc
# 测试是否成功
java -version
# 输出版本号即成功

Java连数据库测试, 爬虫

本文重点是MySQL编译, 已测试成功, Java环境也已OK, 我就不放Java的爬虫了, 完全OJBK

PS: 主要是懒

放几个图说明成功了

使用的是 juicessh 手机SSH连接工具

能坚持看完, 绝对真爱, 希望能对你有帮助

转载于:https://my.oschina.net/u/1010261/blog/1836260

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值