Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何安装mysql以非root用户身份运行_Mysql_Ubuntu_Linux Mint - Fatal编程技术网

如何安装mysql以非root用户身份运行

如何安装mysql以非root用户身份运行,mysql,ubuntu,linux-mint,Mysql,Ubuntu,Linux Mint,我尝试安装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

我尝试安装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\u安全\u安装中给出的密码相同

frank@frank-laptop:~/WebDev$ mysql -u root -p
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

我已经多次重新安装了mysql客户端和服务器,在两个数据库之间进行了完全卸载,并在需要时删除了所有数据库。在安装过程中,不会要求我输入root密码。这对于Ubuntu及其衍生物的安装来说似乎很正常,因此mysql\u secure\u安装可以设置密码

我试着跟着 我试着在网上搜索提示,例如。 和其他人,但我无法让mysql启动没有sudo。如果我真的使用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
就无法设置数据库。不幸的是,

第一次运行
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
的话,您无法设置数据库。很遗憾。

谢谢!我在考试前试过了。编辑,没走多远。“%”是什么意思?我试过使用localhost,我相信几年前就可以了。现在没有了。现在我按照你纠正的指示做了。在授予成功后,我退出了mysql,并且能够连接到mysql-u root-p,所以现在看起来不错:)澄清一下:使用sudo来设置是可以的,我担心我必须一直这样做,我认为这是不好的。百分比意味着你允许远程连接ok,所以它包括localhost?酷!localhost仍然可以工作,只是我无法创建xxx@localhost因为已经创建了xxx@%。哦!删除现有用户并使用@localhost创建它没有问题(只是为了看看我是否可以)。是的,百分比字符包括localhost,它表示“全部”。为了安全起见,最好不要使用百分比,而是使用localhost。谢谢!我在考试前试过了。编辑,没走多远。“%”是什么意思?我试过使用localhost,我相信几年前就可以了。现在没有了。现在我按照你纠正的指示做了。在授予成功后,我退出了mysql,并且能够连接到mysql-u root-p,所以现在看起来不错:)澄清一下:使用sudo来设置是可以的,我担心我必须一直这样做,我认为这是不好的。百分比意味着你允许远程连接ok,所以它包括localhost?酷!localhost仍然可以工作,只是我无法创建xxx@localhost因为已经创建了xxx@%。哦!删除现有用户并使用@localhost创建它没有问题(只是为了看看我是否可以)。是的,百分比字符包括localhost,它表示“全部”。为了安全起见,最好不要使用百分比,而是使用localhost。