天天看點

RaspberryPi(樹莓派)安裝 MariaDB / MySQL 資料庫

RaspberryPi(樹莓派)安裝 MariaDB / MySQL 資料庫

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

一、更新系統

通過運作如下指令來對你需要安裝的系統進行更新,根據網絡的情況可能需要的時間也不相同。

sudo apt-get update           

更新後系統的輸出内容為:

root@raspberrypi:~# sudo apt-get update
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
Fetched 13.0 MB in 19s (694 kB/s)
Reading package lists... Done
root@raspberrypi:~#           

二、安裝資料庫

通過下面的情況就可以自動執行安裝了:

sudo apt-get install mariadb-server           

三、設定安全

當伺服器安裝完成後,運作下面的指令,來為你的資料庫設定安全。

sudo mysql_secure_installation           

主要這個用途是設定你 root 的密碼,root 的遠端通路權限,是否允許匿名通路,是否允許遠端通路等。

如果你隻是測試在本地使用這個資料庫,你可以不用設定這個。

但是我們還是建議你設定。

四、單獨設定一個可以遠端通路的使用者

你可以單獨設定一個使用者能具有足夠 root 的權限執行所有操作,可以進行遠端通路。

你也可以使用 root 使用者進行配置,但是我們不建議你使用 root 使用者。

在你安裝的伺服器上,使用 mysql 登入到伺服器上。

然後執行下面的指令:

CREATE USER 'honeymoose'@'%' IDENTIFIED BY '12345678';
GRANT USAGE ON *.* TO 'honeymoose'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'honeymoose'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION; 
FLUSH PRIVILEGES;           
注意:上面的指令是在你使用 root 登入到伺服器上後進行資料庫的授權的。
RaspberryPi(樹莓派)安裝 MariaDB / MySQL 資料庫

執行上面 SQL 的意圖是,建立一個使用者,為使用者賦權。

五、修改配置允許遠端通路

如果你現在進行遠端連接配接  MariaDB / MySQL 的時候,你會收到連接配接 10061 的錯誤。

按照我們前面的提示,這是因為綁定的問題。

舊版本的MySQL修改

/etc/mysql/my.cnf

檔案,修改内容相同。

如果你的服務上的版本沒有這個檔案的話,新版本的伺服器,你需要修改:

/etc/mysql/mariadb.conf.d/50-server.cnf

這個檔案。

注釋掉

'bind-address

RaspberryPi(樹莓派)安裝 MariaDB / MySQL 資料庫

必要的話,可以嘗試重新開機伺服器。

重新開機伺服器的指令是:

root@raspberrypi:~# service mariadb restart           

檢視資料庫伺服器程序是是否運作的指令是:

service mariadb status           

如果伺服器輸出下面的資訊,表示伺服器已經運作了,你可以嘗試使用 Client 遠端進行連接配接了。

root@raspberrypi:~# service mariadb status
● mariadb.service - MariaDB 10.3.22 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-04-05 10:57:14 EDT; 11s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 1691 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
  Process: 1692 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 1694 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS
  Process: 1771 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 1773 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
 Main PID: 1740 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 4035)
   Memory: 47.7M
   CGroup: /system.slice/mariadb.service
           └─1740 /usr/sbin/mysqld
Apr 05 10:57:13 raspberrypi systemd[1]: Starting MariaDB 10.3.22 database server...
Apr 05 10:57:14 raspberrypi mysqld[1740]: 2020-04-05 10:57:14 0 [Note] /usr/sbin/mysqld (mysqld 10.3.22-MariaDB-0+deb10u1) starting as process 1740 ...
Apr 05 10:57:14 raspberrypi systemd[1]: Started MariaDB 10.3.22 database server.
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1775]: Upgrading MySQL tables if necessary.
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1778]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1778]: Looking for 'mysql' as: /usr/bin/mysql
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1778]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1778]: This installation of MySQL is already upgraded to 10.3.22-MariaDB, use --force if you still need to run mysql_upgrade
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1786]: Checking for insecure root accounts.
Apr 05 10:57:14 raspberrypi /etc/mysql/debian-start[1790]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables           

另外,你可以檢視 MariaDB 運作的端口:

MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.004 sec)
MariaDB [(none)]>           

參考連結:

https://www.cwiki.us/questions/57938848
提供全面,高效和穩定的鏡像下載下傳服務。釘釘搜尋 ' 21746399 ‘ 加入鏡像站官方使用者交流群。”