banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix infobright: permission and INTO OUTFILE?  XML
  [Question]   infobright: permission and INTO OUTFILE? 21/07/2010 13:27:37 (+0700) | #1 | 215893
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Chào mọi người,

Mình dùng infobright 3.2.1.

Tài liệu của MySQL có đoạn:
Any file created by INTO OUTFILE or INTO DUMPFILE is writable by all users on the server host. The reason for this is that the MySQL server cannot create a file that is owned by anyone other than the user under whose account it is running. (You should never run mysqld as root for this and other reasons.) The file thus must be world-writable so that you can manipulate its contents.
 

Nhưng khi chạy câu lệnh: SELECT ... INTO OUTFILE ..., permission của file này chỉ là 660:
Code:
-rw-rw---- 1 mysql mysql        140 Jul 21 14:05 test.out

Do đó khi user LOAD DATA INFILE ... thì gặp lỗi:
The file 'test.out' must be in the database directory or be readable by all 

mysql user đã có toàn quyền trong thư mục:
Code:
drwxr-xr-x 2 mysql mysql 4096 Jul 21 14:08 mysqldata/


Mình chưa biết nguyên nhân ở đâu? Mọi người giúp mình với.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   MySQL: permission and INTO OUTFILE? 21/07/2010 14:06:17 (+0700) | #2 | 215897
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
datadir của mysql có phải là mysqldata hay chỉ là nơi anh tạo ra để chứa file anh vừa mới dump ra thôi?
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   MySQL: permission and INTO OUTFILE? 21/07/2010 14:25:42 (+0700) | #3 | 215898
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

mR.Bi wrote:
datadir của mysql có phải là mysqldata hay chỉ là nơi anh tạo ra để chứa file anh vừa mới dump ra thôi?  

Ở đây, mysqldata không phải là datadir của infobright em à.

Nhét vào datadir thì sẽ gặp lỗi này:
Code:
mysql> load data infile '/usr/local/infobright/outfile/test.out' into table xx;
ERROR 13 (HY000): Can't get stat of '/usr/local/infobright/outfile/test.out' (Errcode: 2)

dù có change permission là bao nhiêu đi nữa. Còn để ở chỗ khác, chỉ cần chmod o+r là OK.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   MySQL: permission and INTO OUTFILE? 21/07/2010 14:52:26 (+0700) | #4 | 215903
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
Em mới chạy thử:
Code:
mysql> select * INTO OUTFILE "/tmp/ofile_db.out" FROM Log;

thì permission của ofile_db.out
Code:
-rw-rw-rw-  1 mysql mysql    18 2010-07-21 15:43 ofile_db.out

Nhưng em dùng root của mysql để dump ra file này, không biết anh dùng user nào?
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   infobright: permission and INTO OUTFILE? 21/07/2010 15:12:17 (+0700) | #5 | 215906
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Mình đính chính lại là infobright chứ không phải MySQL, xin lỗi mọi người về sự nhầm lẫn này.

@Bi: cả root và account có all privileges trên db đều bị.

Bổ sung thông tin:
Nếu thử trên chính server và dùng mysql> LOAD DATA LOCAL INFILE '/path/to/test.out' INTO TABLE xx; thì OK.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   infobright: permission and INTO OUTFILE? 21/07/2010 21:56:27 (+0700) | #6 | 215941
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
Em chưa dùng infobright, nhưng em "đoán" thì chỉ tại permission chưa đủ nên mới xảy ra hiện tượng trên. 2 command SELECT ... INTO OUTFILE và LOAD DATA INFILE cần đặc quyền tương đối đặc biệt để có thể đọc và ghi trên tât cả các file mà Mysql server có quyền write.
Anh thử GRANT ALL PRIVILEGES lại cho user mà anh dùng để start mysql-ib thử, hoặc cho nó thêm quyền FILE.
Em đọc sơ qua thì có vẻ như mysql-ib không nên chạy với quyền mysql root thì phải.

http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   infobright: permission and INTO OUTFILE? 22/07/2010 07:48:14 (+0700) | #7 | 215965
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

mR.Bi wrote:

Anh thử GRANT ALL PRIVILEGES lại cho user mà anh dùng để start mysql-ib thử, hoặc cho nó thêm quyền FILE.
 

Sao lại grant cho user dùng để start mysql-ib (mysql) làm gì, user đó đâu có tồn tại trong mysql.user để mà grant. Còn grant cho user dùng để kết nối đến database thì anh làm rồi. Hơn nữa, ngay cả với root (MySQL user) anh cũng bị lỗi này mà.

mR.Bi wrote:

Em đọc sơ qua thì có vẻ như mysql-ib không nên chạy với quyền mysql root thì phải.

http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html 

"quyền mysql root" là quyền gì vậy em?
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   infobright: permission and INTO OUTFILE? 22/07/2010 08:10:59 (+0700) | #8 | 215970
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
Em chỉ đọc một cái tutorial install Infobirght ở http://blog.950buy.com/article/install-mysql-infobright-data-warehouse/ thì thấy là infobright cần một MySql user để chạy. Ý em nói là user này.
"quyền mysql root" là quyền gì vậy em?

Là root ( MySql user)
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   infobright: permission and INTO OUTFILE? 22/07/2010 08:35:17 (+0700) | #9 | 215973
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

mR.Bi wrote:
Em chỉ đọc một cái tutorial install Infobirght ở http://blog.950buy.com/article/install-mysql-infobright-data-warehouse/ thì thấy là infobright cần một MySql user để chạy. Ý em nói là user này.
"quyền mysql root" là quyền gì vậy em? 

Là root ( MySql user)
 

 
À, em đọc kỹ lại đi: nó dùng một MySQL user để stop mysql-ib bằng mysqladmin đấy chứ, có liên quan gì đến start đâu. Nếu có user nào đó liên quan đến start thì chắc chắn phải là OS user. Infobright cũng giống MySQL, dùng mysqld_safe - chạy với root, spawn ra một process mysqld chạy với mysql thôi (mặc định trên CentOS).
Let's build on a great foundation!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|