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

21497936發表於2022-06-13

前言

  樹莓派使用資料庫時,優先選擇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

   在這裡插入圖片描述


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010283/viewspace-2900177/,如需轉載,請註明出處,否則將追究法律責任。

相關文章