mysql - 如何安装mysql以非root身份运行
问题描述
我试图安装mysql,然后运行
mysql -u root -p
但我明白了
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
我可以使用 sudo 进入,但我不想以 root 身份运行。如何以非 root 身份运行 mysql?
我正在使用 Linux Mint 19.1 32 位。
我尝试了什么:
sudo apt-get install mysql-client
sudo apt-get install mysql-server
sudo /etc/init.d/mysql restart
sudo mysql_secure_installation
- 设置验证密码?不
- 移除匿名用户?不
- 远程禁止root登录?是的
- 删除测试数据库并访问它?不
- 现在重新加载权限表?是的
然后我尝试
mysql -u root -p
它要求输入密码,我给出的密码与我在 mysql_secure_installation 中给出的密码相同...
frank@frank-laptop:~/WebDev$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
嘎。
我现在已经多次重新安装了 mysql 客户端和服务器,在被询问时完全卸载并删除了所有数据库。在安装过程中,我没有被要求输入 root 密码。这对于在 Ubuntu 和衍生产品中的安装来说似乎是正常的,因此使用 mysql_secure_installation 来设置密码。
我尝试关注 http://www.yolinux.com/TUTORIALS/LinuxTutorialMySQL.html 我尝试在网上搜索提示,例如 https://askubuntu.com/questions/766900/mysql-doesnt-ask-for-root- password-when-installing#766908 和其他人,但我无法在没有 sudo 的情况下启动 mysql。如果我确实使用 sudo,我可以创建一个数据库、添加表并添加数据,以便安装数据库,我只需要比我认为应该需要的更多的权限来运行它。
在我看过的任何地方,说明从安装到启动 mysql 之间没有任何特别之处,所以我想我一定是在做一些非常愚蠢的事情。但我一直无法弄清楚是什么。
解决方案
第一次运行时mysql -u root -p
,你必须运行它sudo
才能创建一个新用户:
DROP USER 'root'@'localhost';
CREATE USER 'XXX'@'%' IDENTIFIED BY 'YYY';
GRANT ALL PRIVILEGES ON *.* TO 'XXX'@'%' WITH GRANT OPTION;
然后你可以连接自己使用mysql --user=XXX --password=YYY
我已经尝试过了,但我不认为你可以在不使用的情况下设置你的数据库sudo
。
推荐阅读
- css - 如何修复 flexbox 项目的宽度
- javascript - 如何让 ExoPlayer 播放 DRM PlayReady 内容?
- slack-api - 为什么我的 python Slack 应用程序永远运行而没有任何反应?
- c++ - 如何检查一个字符串是否包含多个其他字符串?
- networking - 如何使用 ansible 在 ubuntu 18.04 服务器上配置 haproxy 和 keepalived?
- json - How to map nested JSON object keys in React?
- search - elasticsearch中的搜索历史
- r - 如何使用 ifelse 对正则表达式使用多个条件?
- python-3.x - POST 请求更改为 RASA 中的 OPTIONS
- python - 如何使用 Flask 显示 SQL INNER JOIN HTML