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)

#查看服务#查看服务器中的数据库 SHOW DATABASES; #创建一个数据库 CREATE DATABASE IF NOT EXISTS test; #使用test数据库...

Mysql数据库 (1)建表与简单查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 #查看服务器中的数据库 SHOW DATABASES; #创建一个数据库 CREATE DATABASE IF NOT EXISTS ...

mysql数据库上使用定时器定时执行存储过程建表(月表)

最近有个需求,在mysql数据库中每个月建自动一个表,把该月的数据存储到该月对应的表中。一、创建存储过程期望表名: login_history_2017_07(login_history_YYYY_...

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

#查看服务器中的数据库 SHOW DATABASES;#创建一个数据库 CREATE DATABASE IF NOT EXISTS test;#使用test数据库 USE test;#建表 -- 表名...

逆向生成MySQL数据库对应的建表与Insert语句(可完成记录的迁移与备份)

我们在项目开发中,数据库表中的有些记录需要备份或者拷贝给他人使用,而觉得备份与还原数据库的方法又比较麻烦,便可以使用Navicat这个MySQL管理工具根据当前数据库中的记录逆向生成相对应的建表与In...

santoku系统安装mysql数据库并进行建表

1.安装mysql数据库 在santoku系统上安装mysql数据库需要在命令行中执行以下几条命令: (1) sudo apt-getinstall mysql-server (2)apt-...

mysql数据库的表创建,删除及增删改查和建表之后添加主外键

---------------------数据库和表的创建部分------------------------- -- 创建数据库 create database db_test ...

20i14-05-18:MySql数据库中可以用汉字作为表名,mysql建表规范,类图的关联和依赖,程序流程图switch分支画法,

1、mysql数据库建表规范,参考http://blog.csdn.net/dreamcode/article/details/8557197 2、

APP表情存入mysql数据库失败处理

一、问题 手机端APP添加表情后端报错,典型错误如下: 查看tomcat后台日志,核心报错信息如下:   Caused by: java.sql.SQLException: Incorrect str...
  • linlzk
  • linlzk
  • 2016年05月11日 17:56
  • 1002
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql数据库建表失败处理一则
举报原因:
原因补充:

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