mysql数据库建表失败处理一则

原创 2015年11月19日 18:30:50

今天下午又没啥事干,于是又拿起三思那本mysql来研究,其中他在创表的那一章节里使用了以下语句来创建表:

(system@localhost) [jssdb]> create table jssdb_mc.users(
    -> username varchar(10),
    -> sex tinyint,
    -> birth date,
    -> address varchar(50),
    -> phoneno varchar(15));
ERROR 1005 (HY000): Can't create table 'users' (errno: 13)

我按书上的例子在环境中操作了一遍,发现创建表失败,但按道理来说应该是成功的,后来经过在网上查询,原来问题是这样的:

由于jssdb_mc库mysql用户没有权限操作,所以就会出现这个问题,经过查询,发现jssdb_mc确实只有root才拥权限操作:

[root@localhost data]# ls -l
total 2883612
-rw-rw----. 1 mysql mysql         56 Nov  9 09:15 auto.cnf
-rw-rw----. 1 mysql mysql 2147483648 Nov 19 17:40 ibdatal
-rw-rw----. 1 mysql mysql  268435456 Nov 19 17:40 ib_logfile0
-rw-rw----. 1 mysql mysql  268435456 Nov  6 16:15 ib_logfile1
-rw-rw----. 1 mysql mysql  268435456 Nov  6 16:15 ib_logfile2
drwx------. 2 mysql mysql       4096 Nov 19 17:40 jssdb
drwxr-xr-x. 2 root  root        4096 Nov 19 16:43 jssdb_mc
drwx------. 2 mysql mysql       4096 Nov  6 16:15 mysql
drwx------. 2 mysql mysql       4096 Nov  6 16:15 performance_schema
drwx------. 2 mysql mysql       4096 Nov  6 16:15 test

于是使用chown 命令来更改用户权限:

[root@localhost data]# chown -R mysql:mysql jssdb_mc/
[root@localhost data]# ls -l
total 2883612
-rw-rw----. 1 mysql mysql         56 Nov  9 09:15 auto.cnf
-rw-rw----. 1 mysql mysql 2147483648 Nov 19 17:40 ibdatal
-rw-rw----. 1 mysql mysql  268435456 Nov 19 17:40 ib_logfile0
-rw-rw----. 1 mysql mysql  268435456 Nov  6 16:15 ib_logfile1
-rw-rw----. 1 mysql mysql  268435456 Nov  6 16:15 ib_logfile2
drwx------. 2 mysql mysql       4096 Nov 19 17:40 jssdb
drwxr-xr-x. 2 mysql mysql       4096 Nov 19 16:43 jssdb_mc
drwx------. 2 mysql mysql       4096 Nov  6 16:15 mysql
drwx------. 2 mysql mysql       4096 Nov  6 16:15 performance_schema
drwx------. 2 mysql mysql       4096 Nov  6 16:15 test

问题解决,出现这个原因是由于这个jssdb_mc库是手动创建的,而且是用root管理员来创建,所以mysql没有权限执行操作,所以以后各位朋友如有遇到该情况要检查情况。

mysql 数据库建表语句的规范

-- 数据库建表语句的规范小结 建表语句的规范: 1.字段的设计     A. 数据类型尽量用数字类型,数字类型的比字符类型的要快很多。   B. 数据类型尽量小,这里的尽量小是指在满足可以预...
  • lxpbs8851
  • lxpbs8851
  • 2013年04月07日 10:23
  • 6256

MySQL常见建表选项及约束

一、CREATE TABLE 选项 1、在定义列的时候,指定列选项 1)DEFAULT :定义列的默认值   当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认值,将自动得到默认值...
  • v1t1p9hvbd
  • v1t1p9hvbd
  • 2017年05月15日 15:05
  • 474

mysql命令建立外键

先看表结构: desc yii_computer_news 'id', 'int(10) unsigned', 'NO', 'PRI', NULL, 'auto_increment' 'new...
  • yageeart
  • yageeart
  • 2012年09月09日 20:58
  • 3022

win10下面部署Mysql数据库

5.6.24下载地址: http://down10.zol.com.cn/biancgj/mysql_5.6.24_winx64.zip下载完成以后解压,在安装目录下面新增my.ini,内容如下:[...
  • fwj380891124
  • fwj380891124
  • 2016年07月21日 16:24
  • 1471

个人博客mysql 建表与数据测试

//建博客表 CREATE TABLE `blog` ( `bId` int(11) NOT NULL AUTO_INCREMENT, `bUid` int(11), `bAutho...
  • judyge
  • judyge
  • 2016年07月31日 19:33
  • 342

MySql利用.bat文件生成创建数据库表的SQL文

范例ksg_DUMP.bat文件 文件内容如下: G: cd mysql\mysql server 5.1\bin mysqldump -uroot -p123456 ksg >C:\tmp\...
  • wmin0909
  • wmin0909
  • 2012年08月14日 17:03
  • 2581

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作。在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多。这...
  • yanzi1225627
  • yanzi1225627
  • 2014年05月25日 18:08
  • 5395

【从零开始学习MySql数据库】(1)建表与简单查询

#查看服务器中的数据库 SHOW DATABASES;#创建一个数据库 CREATE DATABASE IF NOT EXISTS test;#使用test数据库 USE test;#建表 -- 表名...
  • u010785585
  • u010785585
  • 2016年12月16日 22:26
  • 1484

数据库创建表失败原因

小白又建数据库创建表之N种错误= = 这次错误是由于表的名字 user 为数据库的关键字造成的,而且错误很难找出,因为控制台并没有报错,而且正常输出创建表的hibernate语句,后想到改个...
  • Stephen__Xu
  • Stephen__Xu
  • 2017年10月23日 18:44
  • 260

mysql 创建表失败

mysql 错误:Row size too large. The maximum row size for the used table type, not counting BLOB示例:    ...
  • qq_21178933
  • qq_21178933
  • 2017年02月10日 14:35
  • 452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql数据库建表失败处理一则
举报原因:
原因补充:

(最多只允许输入30个字)