今天下午又沒啥事幹,於是又拿起三思那本mysql來研究,其中他在創表的那一章節裡使用了以下語句來建立表:
(system@localhost) [jssdb]> create table jssdb_mc.users(
-> username varchar(10),
-> *** 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資料庫基礎建庫與建表
新建資料庫 create database name 有分號,name為資料庫名,不能重名,首字母不能為數字和 create database name charset utf8mb4 clooate utf8mb4 general ci 查詢和選擇資料庫 show databases use na...
資料庫(3) MySQL建庫 建表
show databases use database名稱 例如 use mysql 如果沒有進入某一庫,在對庫中的資料進行訪問時,會提示 no database selected 檢視當前已進入的資料庫 show tables 語法 drop database 庫名 例如 drop databas...
資料庫建表
資料庫設計三大正規化 為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一...