树莓派3+的设置(备忘录)第5部分:安装phpMyAdmin
我之前使用了一张16GB的microSD卡将Raspberry Pi 3+设置为Web服务器,但由于空间有限,我现在重新配置了一个64GB的环境。这是我在重新配置环境时的工作备忘录。与之前安装时相比,有很多不同的地方,所以我的第一印象是感到惊讶。
前提
-
- このラズベリーパイは外部に公開はしません。(twitterへのポストはします)
-
- 普段、このRaspberry Pi 3+は午前7時から午後11時まで30分毎にcronでbotを運用しています。
- そのため一日当たりの作業時間は夜間の23時から0時までの1時間ぐらいをメンテナンス時間として作業を行う予定です。
由于我已经离开这个世界很久了,所以我认为有很多不足之处。请指出来。
预备工作
根据以下内容,安装MariaDB并进行初始设置,包括创建名为hoge-hoge的用户。用户应该具有GRANT ALL PRIVILEGES权限。以下为复习:
使用sudo命令进入mysql数据库。
$ sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 37
Server version: 10.3.29-MariaDB-0+deb10u1 Raspbian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
进入MySQL后创建一个名为hoge-hoge的用户,然后给予GRANT ALL PRIVILEGES权限。
MariaDB [mysql]> create user `hoge-hoge`@`localhost` IDENTIFIED BY 'hoge-hoge-password';
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO `hoge-hoge`@'localhost' WITH GRANT OPTION;
请确认是否已正确反映。
MariaDB [mysql]> use mysql;
MariaDB [mysql]> select user,password,plugin from user;
如果已经添加了用户hoge-hoge,我认为情况会如下所示。
+-------------+-------------------------------------------+-------------+
| user | password | plugin |
+-------------+-------------------------------------------+-------------+
| root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | unix_socket |
| hoge-hoge | *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy | |
+-------------+-------------------------------------------+-------------+
请确认用户hoge-hoge是否拥有授权的权限,SQL如下:
SHOW GRANTS FOR `hoge-hoge`@`localhost`;
+---------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for hoge-hoge@localhost |
+---------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `hoge-hoge`@`localhost` IDENTIFIED BY PASSWORD '*yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy' WITH GRANT OPTION |
+---------------------------------------------------------------------------------------------------------------------------------------------+
首先,数据库方面的准备工作完成了。接下来是安装phpMyAdmin,让我们退出mysql吧。
在中国,以下是对”phpMyAdminのインストール”的本地化释义:
安装phpMyAdmin。
安装phpMyAdmin。
$ sudo apt install phpmyadmin
完成以上设置后,还有一个重要的设置需要进行。
这是关于设置文件的包含,我们需要在/etc/apache2/apache2.conf的最后一行添加以下内容。
Include /etc/phpmyadmin/apache.conf
追加完毕后,重新启动Apache。
$ sudo /etc/init.d/apache2 restart
即使成功登录,也可能存在错误。
听说这是phpMyAdmin存储库中源代码上的问题。(这个版本是4.6.6deb5)。
作为解决方法,需要修复实际出错位置的源代码或者提升版本。这次我们选择升级版本来解决。
请按照这个网站上的方法进行操作。
将phpMyAdmin手动更新到最新版本[WSL/Ubuntu环境]
https://www.petitmonte.com/linux/phpmyadmin_update.html
#サービスを止める
sudo /etc/init.d/apache2 stop
sudo systemctl stop mariadb.service
#旧環境のバックアップ
cd /usr/share
sudo rm -r phpmyadmin.old/
sudo mv phpmyadmin phpmyadmin.old
#指定バージョンのダウンロードおよび解凍・ソースコードの設置
sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.zip
sudo unzip phpMyAdmin-4.9.7-all-languages.zip
sudo mv phpMyAdmin-4.9.7-all-languages phpmyadmin
sudo rm phpMyAdmin-4.9.7-all-languages.zip
#サービス再起動
sudo /etc/init.d/apache2 restart
sudo systemctl start mariadb.service
让我们再次登录phpMyAdmin,查看表格和导出界面。错误应该已经消失了。
我想要以root身份登录!
无法使用root登录并不让人感到舒服。为了能够使用root登录,将禁用unix_socket。进入mysql并使用update语句禁用unix_socket。
$ sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 103
Server version: 10.3.29-MariaDB-0+deb10u1 Raspbian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
在MySQL中执行以下命令。
执行数据库指定
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
禁用 root 的 UNIX 套接字
MariaDB [mysql]> update user set plugin='' where user='root';
Query OK, 1 row affected (0.005 sec)
Rows matched: 1 Changed: 1 Warnings: 0
更新。
MariaDB [mysql]> flush privileges;
确认Unix套接字是否被禁用。
MariaDB [mysql]> select user,password,plugin from user;
+-------------+-------------------------------------------+--------+
| user | password | plugin |
+-------------+-------------------------------------------+--------+
| root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
| hoge-hoge | *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy | |
+-------------+-------------------------------------------+--------+
如果插件的内容已经消失,那么就表示成功。这样就能够在root权限下登录到phpMyAdmin。
顺便说明一下,如果执行这个操作,将无法通过终端使用sudo mysql登录。(只需输入用户名和密码即可使用root账户登录。)
相关页面