樹莓派開發筆記(十六):樹莓派4B+安裝mariadb數據庫(mysql開源分支)並測試基本操作

前言

  樹莓派使用數據庫時,優先選擇sqlite數據庫,但是sqlite是文件數據庫同時僅針對於單用戶的情況,考慮到多用戶的情況,在樹莓派上部署安裝mariadb數據庫服務(mysql的開源分支),通過讀寫鎖事務等使用,可以實現多進程可以操作同一個數據庫的同一個表的讀寫並行操作。

 

mariadb數據庫

  MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。
  2009年,MySQL之父Michael “Monty” Widenius用他的新項目MariaDB完成了對MySQL的“反戈一擊”。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區採用分支的方式來避開這個風險。 過去一年中,大型互聯網用戶以及Linux發行商紛紛拋棄MySQL,轉投MariaDB陣營。MariaDB是目前最受關注的MySQL數據庫衍生版,也被視爲開源數據庫MySQL的替代品。
  MariaDB雖然被視爲MySQL數據庫的替代品,但它在擴展功能、存儲引擎以及一些新的功能改進方面都強過MySQL。而且從MySQL遷移到MariaDB也是非常簡單的:

  • 數據和表定義文件(.frm)是二進制兼容的
  • 所有客戶端API、協議和結構都是完全一致的
  • 所有文件名、二進制、路徑、端口等都是一致的
  • 所有的MySQL連接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不變
  • mysql-client包在MariaDB服務器中也能夠正常運行
  • 共享的客戶端庫與MySQL也是二進制兼容的

  也就是說,在大多數情況下,你完全可以卸載MySQL然後安裝MariaDB,然後就可以像之前一樣正常的運行。

 

樹莓派安裝mariadb

步驟一:安裝mariadb服務器

sudo apt-get install mysql-server

  在這裏插入圖片描述
  按照建議安裝mariadb:

sudo apt-get install mariabdb-server-10.0

  在這裏插入圖片描述

步驟二:初始化數據庫

  注意數據庫根據實際情況配置,我們需要賬戶和密碼登陸,然後遠程不可訪問。

sudo mysql_secure_installation

  在這裏插入圖片描述
  在這裏插入圖片描述

步驟三:創建數據庫data

  在這裏插入圖片描述
  以上回到了熟悉的mysql命令行操作。

*步驟四:記錄重啓mariadb服務

  以防止有問題,在這裏寫出來重啓服務操作。

service mariadb restart

  在這裏插入圖片描述

 

mariadb數據庫服務器操作

  這裏爲了方便其他操作,在這裏枚舉了所有的操作。

啓動MariaDB(mysql)

systemctl start mysql

停止MariaDB(mysql)

systemctl stop mysql

重啓MariaDB(mysql)

systemctl restart mysql

設置開機啓動(mysql)

systemctl enable mysql

查詢MariaDB運行狀態(mysql)

systemctl status mysql.service

修改root密碼(mysql)

  假設密碼爲1234567

sudo mysqladmin -uroot -p1234567 password 1234567

  在數據庫中修改

sudo mysql -uroot
SET password for 'root'@'localhost'=password('a1234567');

登陸root賬戶

mysql -u root -p

  在這裏插入圖片描述
  重新修改密碼也無法登陸,通過各方方法都無法解決,最終解決方法找到配置文件並且添加配置代碼,如下圖:
  在這裏插入圖片描述
  添加:
  在這裏插入圖片描述
  然後啓動出錯:
  在這裏插入圖片描述
  查看實際問題:

systemctl status mysql.service

  在這裏插入圖片描述

journalctl -ex

  在這裏插入圖片描述
  (後經過個把小時,發現是自己配置文件保存的時候,樹莓派網絡不好弄錯了,多了個:號,如下圖)
  在這裏插入圖片描述
  刪掉就正常登陸了。

 

命令行測試

創建表

sudo mysql -uroot
use data
create table student (
    id varchar(20) not null,
    name varchar(20) not null,
    sex varchar(4) not null,
    age varchar(4) not null,
    primary key(id));

  在這裏插入圖片描述

插入數據

insert into student values('1', 'yang', 'm', '34');

  在這裏插入圖片描述

查詢數據

select * from student;

  在這裏插入圖片描述

更新表

update student age='35' where name='yang';

  在這裏插入圖片描述

刪除表

  請不要操作,此處只是爲了點一下,該表後續還需要用於測試Qt。

drop table student

  在這裏插入圖片描述

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章