使用/ var/lib/mysql的chown从root更改所有者,现在在mysql中获得错误1049(42000)

Wei*_*Wei 4 mysql permissions root ownership chown

使用Ubuntu,我之前使用终端中的以下代码创建了一个mysql数据库:

$ my sql -u root -p
Run Code Online (Sandbox Code Playgroud)

然后在mysql中:

CREATE DATABASE securities_master;
Run Code Online (Sandbox Code Playgroud)

我试图使用文件浏览器来查看与此数据库相关的内容.但因为我没有权限打开文件夹/ var/lib/mysql我想更改此文件夹的权限.我在stackoverflow上做了一些搜索,并且在没有完全理解我在做什么的情况下,我使用了类似下面的内容(我的用户名为wei):

sudo chown -R root:wei /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

或者(不幸的是我已经关闭了终端窗口所以不确定我输入的是什么)

sudo chown -R wei:wei /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

要么

sudo chown -R wei /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

这允许我查看目录内部并查看我的文件,所以我认为我正在取得进展.但是,一旦我这样做了,我意识到当我尝试在mysql中使用数据库时:

USE securities_database;
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息如下:

ERROR 1049 (42000): Unknown database 'securities_master'
Run Code Online (Sandbox Code Playgroud)

我相信这与我之前使用chown有关.通过进一步的stackoverflow搜索来调查这一点,我现在的印象是我不应该毫不犹豫地从root获取一些文件的root权限,因为"可能发生坏事".我试图恢复root所有权:

sudo chown -R root /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

AND/OR:

sudo chown -R root:root /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我似乎仍然得到相同的错误消息.

如果我的问题看起来如此基本,或者这样一个新手错误,Ubuntu,Linux和mysql这里的全新手,我道歉.谢谢.

Bar*_*mar 16

所有事物的正常所有权/var/lib/mysqlmysql:mysql.所以你应该能够解决它:

sudo chown -R mysql:mysql /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

  • 在那之前我花了 4 个小时试图自己解决这个问题,而这 3 行注释在 10 秒内就解决了我的问题。我希望我能投票(但声望低于 15),如果你住得离我近,我会给你买瓶啤酒。再次感谢。 (2认同)