安装的过程比较简单。 但是这里有一个地方需要注意,如果你希望是能够通过网络访问你安装的数据库的话。 在你设置好用户名和密码,以及访问权限后,你可能发现你还是访问不了。 这是因为你的安装服务器只绑定了能够本地访问,你需要修改配置,让你的服务器能够支持远程访问。 具体的方法,请参考 RaspberryPi(树莓派)安装 MariaDB 数据库没有办法远程访问 页面中的文章。 更新系统 通过运行命令: 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 登录到服务器上后进行数据库的授权的。 执行上面 SQL 的意图是,创建一个用户,为用户赋权。 修改配置允许远程访问 如果你现在进行远程连接 MariaDB / MySQL 的时候,你会收到连接 10061 的错误。 按照我们前面的提示,这是因为绑定的问题。 旧版本的MySQL修改/etc/mysql/my.cnf文件,修改内容相同。 如果你的服务上的版本没有这个文件的话,新版本的服务器,你需要修改: /etc/mysql/mariadb.conf.d/50-server.cnf 这个文件。 注释掉 ’bind-address 必要的话,可以尝试重启服务器。 重启服务器的命令是: 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…