Linux Deploy Ubuntu安裝MySQL
一、在Android手機安裝Linux
由於我的手機好像只支援32位的,我選擇安裝ubuntu xenial,(bionic好像沒32為,但是我也安裝過,好像可以執行,就是有時候覺得很慢)
我選擇安裝在外接sd卡,將sd卡分兩個區,其中一個需要設定格式為ext4,並將系統安裝在改分割槽上
補充:架構我是選擇armhf的,下載源應該找支援armhf的源地址,推薦中科大的國內源http://mirrors.ustc.edu.cn/ubuntu-ports,不然之後還需要換源,如果源不支援armhf,apt-get的時候會找不到
按照參考的文章安裝完就好。
二、Ubuntu安裝Mysql
建議在root使用者上操作
sudo su
輸入密碼
(一)安裝mysql
1. sudo apt-get install mysql-server
中間要輸入mysql使用者root的密碼,要記住改密碼,需要輸入兩次
若沒有改過程,建議完全解除安裝重新安裝,請看(二)完全解除安裝mysql
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
(二)完全解除安裝mysql
sudo apt-get autoremove --purge mysql-server sudo apt-get remove mysql-common whereis mysql sudo rm -rf /etc/mysql/ /var/lib/mysql (上面whereis mysql找的mysql資料夾) dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P sudo apt autoremove
(三)啟動、關閉服務和檢視執行狀態
sudo service mysql start
sudo service mysql stop
sudo service mysql status
(四)mysql啟動錯誤
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Android使用了一個啟用的特殊核心補丁CONFIG_ANDROID_PARANOID_NETWORK
。此修補程式允許網路訪問屬於具有硬編碼ID的特定特殊組的系統使用者。
這是因為Android通常僅在特定應用具有網路許可權時才將使用者(即應用)新增到這些組
說是Android核心已使用CONFIG_ANDROID_PARANOID_NETWORK進行編譯。可以通過將mysql使用者新增到aid_inet和aid_net_raw組來修復它。
解決辦法:
usermod -a -G aid_inet,aid_net_raw mysql
可以ssh連上ubuntu
cat /etc/group
看到
這樣mysql可以正常啟動
補充說明,如果點了linux deploy右上角的“配置”,mysql會在aid_inet,和aid_net_raw使用者組不見了 ,需要重新把mysql新增進去
usermod -a -G aid_inet,aid_net_raw mysql
最後說明,這次在Android安裝linux也是折騰了很久,沒有找到合適的教程,或者各種問題,但是總結了幾篇文章加上自己的摸索,還可以的,老舊手機新用途。