HoneyMoose
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • USVisaTrack
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
BLOG.OSSEZ.COM
A responsive blog theme focused om user reading experience
  1. Home
  2. Computer Science
  3. This article

RaspberryPi(树莓派)如何安装 MariaDB / MySQL 数据库

2020年04月05日 562Browse 0Like 0Comments

安装的过程比较简单。

但是这里有一个地方需要注意,如果你希望是能够通过网络访问你安装的数据库的话。

在你设置好用户名和密码,以及访问权限后,你可能发现你还是访问不了。

这是因为你的安装服务器只绑定了能够本地访问,你需要修改配置,让你的服务器能够支持远程访问。

具体的方法,请参考 RaspberryPi(树莓派)安装 MariaDB 数据库没有办法远程访问 页面中的文章。

更新系统

通过运行命令:

sudo apt-get update

来对你需要安装的系统进行更新,根据网络的情况可能需要的时间也不相同。

我们更新后系统的输出内容为:

[email protected]:~# 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
[email protected]:~#

安装数据库

通过下面的情况就可以自动执行安装了:

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

必要的话,可以尝试重启服务器。

重启服务器的命令是:

[email protected]berrypi:~# service mariadb restart

查看数据库服务器进程是是否运行的命令是:

service mariadb status

如果服务器输出下面的信息,表示服务器已经运行了,你可以尝试使用 Client 远程进行连接了。

[email protected]:~# 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

Tags: None
Last updated:2020年04月05日

Kratos

stay absorbed stay excellent

Like
< Previous
Next >

Comments

Cancel reply

Newest Hotspots Random
Newest Hotspots Random
来看一个 ChatGPT 有关程序员的笑话 IntelliJ IDEA 的 Code Coverage 测试 Okhttp 如何构建一个 Get 的 URL SpringBoot 使用 @ConfigurationProperties 异常 Not registered via @EnableConfigurationProperties Jackson 的 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 1月14号的 UA857
说说这 48 小时核酸检测的时间FAA 真的应该换换系统了Java 8 使用 Stream 把 List 转换为 mapPowerShell 中运行 maven 参数无法识别1月14号的 UA857Jackson 的 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
Hibernate 5 开始使用指南前言 Python 关键字 Maven 如何打包 Spring Boot 项目打包的发布 Jar 名字 Confluence 6 自定义配色方案 Confluence 6 升级自定义的站点和空间布局 Confluence 6 整合到支持的附件存储选项
Categories
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • H1B
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • USRealEstate
  • USVisaTrack
  • 我的小厨

COPYRIGHT © 2020 HoneyMoose. ALL RIGHTS RESERVED.

THEME CWIKIUS.CN MADE BY VTROIS