树莓派3B+搭建局域网MySQL服务器并实现网页访问

目录

  • 安装树莓派系统
  • 设置树莓派打开HDMI的输出端口
  • 树莓派的初始化
  • 搭建服务器 - 1
    • 安装 Apache
    • 安装PHP
    • 安装MySQL
    • 安装PHPMyAdmin
  • 搭建服务器 - 2
    • 初始化MySQL
    • 进行几个测试
      • 测试 Apache
      • 测试root登录mysql
    • 设置Mysql的root用户可以远程访问
    • 有时候登录不上mysql是因为mysql设置的用户的插件的问题

备注:该文章写于2019年7月20日,如果时间过得太久,可能会不太一样,仅供参考

安装树莓派系统

这部分很简单,简言之:

  • 官网上下载镜像文件
  • 使用 “SD Card Formatter” 工具格式化内存卡
  • 使用 “Win32DiskImager” 写入镜像文件

设置树莓派打开HDMI的输出端口

这部分也可使用SSH连接,但是我没有使用,因为我不想让树莓派和电脑一个屏幕,但是树莓派默认是不开放HDMI接口的,设置方法如下

  • 使用 “NotePad” 打开写好镜像的boot磁盘中的 “config.txt” 文件,将下面几句的注释 # 删除
hdmi_force_hotplug=1
hdmi_drive=2
config_hdmi_boost=4

树莓派的初始化

  1. 连接显示屏开机后设置时区
  2. 设置pi的密码
  3. 设置WiFi连接
  4. 跳过升级
  5. 重启树莓派

搭建服务器 - 1

服务器搭建关键部分有4点
参考:https://raspberrytips.com/web-server-setup-on-raspberry-pi/

  1. 安装 Apache
  2. 安装 PHP
  3. 安装 MySQL(MySQL的设置需要的注意点后面讲)
  4. 安装 PHPMyAdmin
    终端代码我只列出主要的

安装 Apache

我理解的Apache是创建服务器的工具,外界可以通过这个工具来访问PHP和HTML创建的网站

sudo apt update
sudo apt upgrade
sudo apt install apache2

安装PHP

我理解的PHP是网站建设(序号和HTML搭配)和数据库交互的工具

sudo apt install php

安装MySQL

MySQL是储存数据的仓库

sudo apt install mariadb-server-10.0

安装PHPMyAdmin

安装 PHPMyAdmin 的时候需要设置密码,这个要记住

sudo apt install phpmyadmin

搭建服务器 - 2

初始化MySQL

主要设置root密码和一些测试数据库,注意几点

  1. 建议允许root可以remote访问
  2. 建议保留测试用的用户和测试用的数据库
  3. 设置root密码并记住
sudo mysql_secure_installation

这一步完成后,重启一下树莓派吧

进行几个测试

测试 Apache

先使用下面的代码看树莓派IP

ifconfig

看结果中的wlan0的地址,如:10.111.10.78
将这个IP设置为静态IP(如果树莓派的运行地点不变的话,如果前期测试过程,可以先不设置)
通过右键Wifi图标后弹出的菜单中设置
打开浏览器访问这个IP,如果有页面显示出来表明正确配置

测试root登录mysql

sudo mysql -u root -p

如果有输入密码的,则成功

设置Mysql的root用户可以远程访问

使用如下命令,创建一个自定义的root账户,然后设置次root账户可以远程连接

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

关于可能出现的问题:

  1. root账户不可以登录PHP:https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost
  2. 如何重启MySQL:https://coolestguidesontheplanet.com/start-stop-mysql-from-the-command-line-terminal-osx-linux/
  3. IP和用户名密码都正确后,还是远程登录不上的问题:有可能是端口号不对还有树莓派会默认绑定固定的IP,这个可以看:https://stackoverflow.com/questions/1673530/error-2003-hy000-cant-connect-to-mysql-server-on-127-0-0-1-111
    有点不一样的是,现在新的Mysql做了变更,实际上的控制代码是:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

修改的地方有两个

  1. 端口号:这个用什么改什么,和客户端一致就行
  2. 将IP固定的语句注释掉

有时候登录不上mysql是因为mysql设置的用户的插件的问题

解决方法
https://blog.csdn.net/yalecaltech/article/details/79507356

享用吧

你可能感兴趣的:(Liunx)