閒置一加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鏈接工具

能堅持看完, 絕對真愛, 但願能對你有幫助

相關文章
相關標籤/搜索