mysql - 树莓派 + 在 PhpMyAdmin 中没有权限
问题描述
这是我为自己写的要遵循的步骤,我过去常常进行初始设置..(如果这是他问题的一部分呢?)
- 使用 Etcher 将最新的 Raspbian Stretch 闪存到 micro SD 卡。
- 将“ssh”文件添加到 SD 卡的 _root 中,以便我可以通过 Putty/FTP..etc 进行连接
更新存储库:
-- sudo apt-get 更新
* 安装阿帕奇:
-- sudo apt install apache2 //新行
* 授予 Pi 权限:
-- sudo chown -R pi:www-data /var/www/html/ -- sudo chmod -R 770 /var/www/html/
* 更改默认网页:
-- ls -al
** 我通过打开 Web 浏览器并输入 Raspberry Pi 的 IP 地址来测试服务器是否正常工作。** 我通过在终端(或我的路由器)中键入:ifconfig 来查找 IP 地址
* 安装 PHP:
-- sudo apt install php php-mbstring
- 测试 PHP 安装:
//删除默认的apache index.html -- sudo rm /var/www/html/index.html
//在其位置创建新的 index.php 文件,内容如下: -- echo "" > /var/www/html/index.php
*** 启用 PHP SHORT TAGS: -- sudo nano /etc/php/7.0/apache2/php.ini //查找短标签并编辑/保存配置文件 (.ini)
* 安装 MySQL 7:
-- sudo apt install mysql-server php-mysql ** 提示时输入/创建 root 密码 //从未被提示这样做????
- 检查安装: -- sudo mysql --user=root
添加 wifi 凭据:
在卡上创建名为 wpa_supplicant.conf 的文件,其中包含以下内容:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=US network={ ssid="Your network name/SSID" psk="Your WPA/WPA2 security key" key_mgmt=WPA-PSK }
使用您的信息编辑 country=、ssid= 和 psk= 并保存文件。在 CAPS 中使用 2 个字母的国家/地区缩写(没有这个您将没有 WiFi)。使用纯文本编辑器而不是文字处理器来编辑 wpa_supplicant.conf 文件。
所以上述一切都很好..没有太多问题..(遵循禁用所有DHCP功能的旧wifi教程..但现在已经修复,上面的步骤也更新了)
但是..我从本教程中遵循了一个步骤,即如何检查您的 MySQL 安装:
https://howtoraspberrypi.com/how-to-install-web-server-raspberry-pi-lamp/
“我们不会删除默认的 mysql root 用户并创建一个新的 mysql root 用户,因为默认用户只能用于 Linux root 帐户,因此不适用于 webserver 和 php 脚本。要这样做,一旦你连接到MySQL,只需运行这些命令(用您想要的密码替换密码):“
DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'
“所以你现在有了一个连接到 PHP 和 MySQL 的 Web 服务器。这就是全部。(在你的下一个连接中,你将能够在不使用 sudo 的情况下连接到 mysql,使用以下命令:”
# mysql --user=root --password=yourmysqlpassword
现在..我可以“登录”到 PhpMyAdmin.. 使用上面的根 / 密码凭据...
但我没有创建数据库的特权..或添加表..等
当我登录到 PhpMyAdmin.. 我看到这些“粉红色”警报.. 说 phpmyadmin@local 主机没有权限/拒绝..等等..
所以我的问题是:
1.) 安装 MySQL 后设置新用户帐户的正确过程是什么?您是否应该删除默认帐户?为什么没有设置新的用户帐户和权限?(我被拒绝了,需要一个具有创建权限的帐户......等等)
2.)我如何解决我目前的情况,以便我可以继续我的项目..(需要一个填充了数据的数据库来显示站点)
我需要卸载 MySQL 吗?并重新安装它?重新来?这将如何影响当前安装/工作的所有其他内容?有反弹吗?这里的负面后果?我是 Linux (Raspbian) 的新手。这里一般是 CLI。
为什么这条线没有“工作”?授予所有特权。TO 'root'@'localhost'
我该如何解决这个问题,以便我有权使用 PhpMyAdmin?
解决方案
要更新这一点,以防其他人偶然发现它......你看看块......
它实际上缺少一些语法:
DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'
最后一行缺少';' (分号)..这意味着最后一行没有执行..(DOH!)..因此..新用户没有权限!!!
我建议不仅要修复那个错字......而且不要删除原来的 ROOT 用户......并且一起创建一个新帐户
IE:
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'
推荐阅读
- hana - 如何从 HANA Studio 结果视图中删除行编号
- reactjs - 组件在本机反应中未正确重新渲染
- angular - 为 Angular i18n 编写单元测试
- javascript - 用于 Edge 的 Excel ActiveXObject 重新工具
- python - 成员消息角色名称时尝试分配 Discord 角色
- node-addon-api - Napi::Env 可以在子线程中使用吗?
- javascript - Javascript:为什么使用逻辑运算符和比较运算符?
- python - Azure Python SDK:BlobServiceClient.get_container_client 返回 TypeError?
- javascript - 给定一个键 id,更新数组中一个对象的几个属性。如何?
- nuxt.js - 根据路径获取动态 Nuxt 内容