玩智能家居只有簡單的數據採集和上報是遠遠不夠的,像現在的產品都會有一個完整的數據庫在後臺保存着所有上報的數據,方便後續的查看和大數據分析等等,所以數據不是簡單的採集顯示一下就完了,這裏使用的是MySQL作爲我們的數據後臺,本博文記錄如何在Ubuntu上安裝MySQL並開啓遠程服務。
安裝MySQL
本博客將MySQL安裝在我那充當局域網網關的樹莓派中用作保存所有線下設備上報的數據,樹莓派裏的系統是Ubuntu18.04 mate,此安裝步驟應該適用於大部分Ubuntu系統,我也是在衆多大佬的博客中汲取整理的方法,簡單介紹一下。
安裝MySQL的服務端
MySQL-server 用於持久保存數據併爲其提供查詢接口(SQL);可以託管多個數據庫並處理這些數據庫上的查詢,包含存儲數據的一系列機制、處理方法的集成。可以把sql語句翻譯成對內存和文件的操作,也就是說,server是直接操作文件的。
sudo apt-get install mysql-server
安裝的過程中可能會讓你設定root密碼,用來控制和管理你的數據庫的。
安裝MySQL的客戶端
MySQL-client 客戶端程序,用於連接並操作MySQL服務器。
sudo apt install mysql-client
還需要安裝客戶端依賴的包
sudo apt install libmysqlclient-dev
檢查是否成功安裝
sudo netstat -tap | grep mysql
或者
mysql --version
開啓MySQL的遠程訪問
爲了能夠在遠程登錄和使用MySQL,需要編輯文件 /etc/mysql/mysql.conf.d/mysqld.cnf
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到這句 bind-address = 127.0.0.1:
,將它註銷掉即可
#bind-address = 127.0.0.1:
保存退出,完了之後開啓MySQL服務
sudo mysql -uroot -p此處直接加上你的mysql的密碼
接着輸入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼' WITH GRANT OPTION;
成功會出現以下提示:
有可能會出現 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 意思說你設置的密碼不符合密碼策略,簡而言之就是密碼太簡單了,不安全。
解決 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
去查看密碼策略
啓動了mysql後,輸入以下命令
SHOW VARIABLES LIKE 'validate_password%';
- validate_password_length 固定密碼的總長度;
- validate_password_mixed_case_count 整個密碼中至少要包含大/小寫字母的總個數;
- validate_password_number_count 整個密碼中至少要包含阿拉伯數字的個數;
- validate_password_policy 指定密碼的強度驗證等級,默認爲 MEDIUM;
- validate_password_special_char_count 整個密碼中至少要包含特殊字符的個數;
關於 validate_password_policy 的取值:
validate_password_policy 的取值 | 解析 |
---|---|
LOW | 只驗證長度; |
MEDIUM | 驗證長度、數字、大小寫、特殊字符; |
STRONG | 驗證長度、數字、大小寫、特殊字符、字典文件; |
爲了檢測簡單,設置 validate_password_policy 的全局參數爲 LOW 即可,即只驗證長度
set global validate_password_policy=LOW;
設置密碼長度
set global validate_password_length=要多長寫多長;
設置新密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
設置好之後重新運行一次即可
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼' WITH GRANT OPTION;
刷新配置
flush privileges;
退出mysql並重啓
在命令行中直接輸入 exit
退出後,運行
sudo service mysql restart
遠程連接數據庫
至此,代表成功連接了數據庫。這裏用的是Navicat這個工具,需要的可以自行去百度安裝。
在此說明一下,你也可以把你的數據庫弄到雲服務器裏去,通過以上方法也是可以連接的