您的位置:首页 > 数据库 > MySQL

Mysql 执行指令desc 表名的时候报错

2016-05-11 20:52 411 查看
登陆MySQL,建库、建表都没有问题。例如,create table student;建立了学生表。

可是在 desc student; 查看学生表结构的时候,报错了,如下:

ERROR 1 (HY000): Can't create/write to file '/var/lib/mysql/tmp/#sql_3630_0.MYI' (Errcode:
13)

上网查了一下,遇到此问题的人不少。看来都有这个问题。

注意,MySQL默认的数据库存放的位置在:/var/lib/mysql 下。

解决方案如下:

1、mkdir /var/lib/mysql/tmp

2、chown mysql:mysql /var/lib/mysql/tmp     

    (查一下chown命令,mysql:mysql表示:前一个表示mysql用户,后一个mysql表示mysql用户组)



3、修改/etc/my.cnf 配置文件,在[mysql]段增加:tmpdir = /var/lib/mysql/tmp

     增加后,大致如下:

[mysqld]

port            = 3306

socket          = /var/run/mysql/mysql.sock

# Change following line if you want to store your database elsewhere

datadir = /var/lib/mysql

tmpdir = /var/lib/mysql/tmp

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

4、重启mysql服务。

-----------------------------------------------------------------------------------
当Mysql安装在Windows下出现同样问题的解决方案:
1、先在Mysql的安装根目录下创建temp文件夹



2、在my.ini中如下配置



3、重启Mysql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: