首页 > 解决方案 > 如何安装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

然后我尝试

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 之间没有任何特别之处,所以我想我一定是在做一些非常愚蠢的事情。但我一直无法弄清楚是什么。

标签: mysqlubuntulinux-mint

解决方案


第一次运行时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


推荐阅读