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

前因: 有一闲置一加1手机, 看不少大神在手机上跑Linux, 玩各类炫酷操做, 我也要玩玩

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

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

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

环境准备:

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, 这个不清楚怎么弄的, 自行度娘

下载地址:linux

TWRP 3.2.1-0android

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

addonsu-15.1-arm-signed.zipgithub

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

安装所需的软件并编译

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, 这里不演示, 自行解决bash

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链接工具

能坚持看完, 绝对真爱, 但愿能对你有帮助

相关文章
相关标签/搜索