2014-03-01 43 views
0

我刚第一次安装了mysql,并用create database foo创建了一个databse; 我想我已经找到了mysql存储数据库的位置(/ var/lib/mysql)。当我尝试cd到foo目录时,我拒绝了权限。当我尝试使用sudo时,什么都没有发生。如何通过命令行mysql访问数据库文件?

的ls -l输出

-rw-rw----. 1 mysql mysql 16384 Feb 21 17:44 aria_log.00000001 
-rw-rw----. 1 mysql mysql  52 Feb 21 17:44 aria_log_control 
drwx------. 2 mysql mysql  4096 Mar 1 22:08 foo 
-rw-rw----. 1 mysql mysql 18874368 Feb 21 17:44 ibdata1 
-rw-rw----. 1 mysql mysql 5242880 Mar 1 16:05 ib_logfile0 
-rw-rw----. 1 mysql mysql 5242880 Feb 21 17:34 ib_logfile1 
drwx------. 2 mysql mysql  4096 Feb 21 17:34 mysql 
srwxrwxrwx. 1 mysql mysql  0 Mar 1 16:05 mysql.sock 
drwx------. 2 mysql mysql  4096 Feb 21 17:34 performance_schema 

我知道你的意思通过命令行对应用程序来查看数据库之类的东西,但我很感兴趣,为什么我不能当我查看foo目录是根。

回答

2

您不能查看foo的目录,因为权限:

owner - mysql - read, write, execute 
group - mysql - no access 
other - no access 
+0

我认为根本可以访问一切。如果没有,我可以找到目录然后访问它? – user3247608

+0

@ user3247608“我以为root可以访问所有内容”我也这么认为。但权限似乎是最可能的解释。请尝试chmod o + rx。因为如果你根目录,MySQL将无法读取数据库。 – user4035

0

首先使用

[[email protected]]# mysql -u root -p 
Enter password:****** 

现在连接到MySQL从命令提示符下使用选择

mysql> USE DB_Name 
数据库

您可以使用belo命令来获取数据库列表

mysql> SHOW DATABASES; 

为了得到目录的详细信息,您可以使用

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "dir_name"