我已经通过sudo apt-get install mysql-server安装了mysql-server。
不,当我想用mysql -u root -p登录时,我收到消息ERROR 1698 (28000): Access denied for user 'root'@'localhost'。
但当我使用sudo mysql -u root -p登录时,一切都很正常。
我需要修复什么,才能在没有sudo命令的情况下登录mysql?
发布于 2017-02-17 16:34:26
这是一个权限问题,并按预期工作:默认情况下,只有root linux用户才能执行mysql守护进程。
要允许其他用户使用该命令,请抛出该命令:
sudo chmod -R 755 /var/lib/mysql/在此之后,您必须重新启动mysql守护进程。根据您的linux内核,尝试以下选项之一:
/etc/init.d/mysqld restart或
service mysqld restart请注意,所有这些都不是必需的,并且会降低安全性。我看不出为什么必须用普通用户执行mysql,除非是在共享服务器上,在每个用户的控制下运行几个mysql实例。
发布于 2017-02-17 19:18:27
如下面的答案所述:https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7/763359#763359
MySQL 5.7改变了安全模式,超级用户登录现在需要sudo。
解决方案是创建一个新用户并赋予他们特权。
上面的链接答案解决了我的问题。
发布于 2017-10-27 17:51:05
我在MySQL5.7中也遇到了同样的问题
因为普通用户没有权限获得访问权限..
打开mysql:
sudo mysql -u根-P
创建新用户并向该用户添加所有权限:
根据需要更换用户名和密码。替换avi和avi123
CREATE USER 'avi'@'localhost' IDENTIFIED BY 'avi123';
GRANT ALL PRIVILEGES ON *.* TO 'avi'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;https://stackoverflow.com/questions/42292278
复制相似问题