At 9:31 +0000 2/23/04, [EMAIL PROTECTED] wrote:
"Rhino" <[EMAIL PROTECTED]> wrote on 21/02/2004 16:59:27:
I am new to most aspects of MySQL administration so I was wondering
if someone can help me figure out what GRANTs I need for a
particular situation.
I have a user who needs to be able to run some MySQL scripts that
create and load tables in a database named NFL. He is accessing
MySQL remotely from a client on a Windows machine. Our server is
running in Linux Mandrake 9.1; the client is Windows 98SE.
I've run the following grants for him:
grant all on NFL.* to [EMAIL PROTECTED] indentified by 'xxxxx';
grant all on NFL.* to [EMAIL PROTECTED] identified by 'xxxxx';
grant file on NFL.* to [EMAIL PROTECTED] identified by 'xxxxx';
grant file on NFL.* to [EMAIL PROTECTED] identified by 'xxxxx';
When I try signing on as him from my remote Windows client, he can
connect to MySQL and get to the mysql prompt. He can run the script
which creates and loads the tables. However, he gets "Access Denied"
on the Load Data Infile statements when the script executes.
1. Why is this happening? The Load Data article says he needs the
File privilege and I've given it to him. He also has all privileges
on the NFL database. What more do I need to do for him?
2. Are the privileges given to [EMAIL PROTECTED] redundant with the
privileges given to [EMAIL PROTECTED] They *look* redundant to me; I
suspect I've misinterpreted something I read in the manual. Can I
get by with giving him just the [EMAIL PROTECTED] privileges? Do I
need to give him anything else to account for the fact that he is
coming in from a remote client?
I note that you are running a mixed Windows/Linux system. My experience is
that using uppercase in such systems is a source of create problems. Since
database names and table names for MyISAM tables are file names, they are
case significant on Linux and non-significant on Windows. While I am sure
that there is an analytic way of handling the problems which arise, I found
that it was very difficult to understand and a source of avoidable
confusion. I would recommend that in any case where mixed *nix and Windows
systems are involved, you keep database and table names entirely to lower
case. The world will give you enough unavoidable problems - don't add an
avoidable one.
Alec
I would say that it shouldn't matter whether you use uppercase or lowercase.
What matters is that you pick one lettercase and use it consistently.
Another option is to set lower_case_table_names to 1 on all platforms.
Before using it, however, you should change all database and table names
to lowercase manually.
--
Paul DuBois, MySQL Documentation Team
Madison, Wisconsin, USA
MySQL AB, www.mysql.com
MySQL Users Conference: April 14-16, 2004
http://www.mysql.com/uc2004/
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]