mysqld
Concerning Security
LOAD DATA LOCAL
Access denied
Errors
mysqld
Concerning Security
The following mysqld
options affect security:
--local-infile[=(0|1)]
--local-infile=0
then one can't use LOAD DATA LOCAL
INFILE
.
--safe-show-database
SHOW DATABASES
command returns only those
databases for which the user has some kind of privilege.
From version 4.0.2 this option is deprecated and doesn't do anything
(the option is enabled by default) as we now have the
SHOW DATABASES
privilege. See section 4.3.1 GRANT
and REVOKE
Syntax.
--safe-user-create
GRANT
command, if the user doesn't have the INSERT
privilege for the
mysql.user
table. If you want to give a user access to just create
new users with those privileges that the user has right to grant, you should
give the user the following privilege:
mysql> GRANT INSERT(user) ON mysql.user TO 'user'@'hostname';This will ensure that the user can't change any privilege columns directly, but has to use the
GRANT
command to give privileges to other users.
--skip-grant-tables
mysqladmin
flush-privileges
or mysqladmin reload
.)
--skip-name-resolve
Host
column values in the grant
tables must be IP numbers or localhost
.
--skip-networking
mysqld
must be made via Unix sockets.
This option is unsuitable when using a MySQL version prior to 3.23.27 with
the MIT-pthreads package, because Unix sockets were not supported by
MIT-pthreads at that time.
--skip-show-database
SHOW DATABASES
command, unless the user has the
SHOW DATABASES
privilege. From version 4.0.2 you should no longer
need this option, since access can now be granted specifically with the
SHOW DATABASES
privilege.
Posted by Bas Meijer on Thursday May 9 2002, @9:01am | [Delete] [Edit] |
A simple security enhancement missing in
this list would be for:
[mysqld]
bind-address=127.0.0.1
This means localhost can only connect, and
that's enough for small scale projects. They
won't see port 3306 in portscans anymore.
Posted by Bryce Nesbitt on Monday April 7 2003, @6:41am | [Delete] [Edit] |
If your application, web server and database all run on the same machine, then you probably don't need networking enabled at all. Use of the "--skip-networking" flag is highly recommended.
Posted by Fraser Campbell on Monday April 28 2003, @9:07pm | [Delete] [Edit] |
So is there nothing equivalent to the suggested "bind-address=127.0.0.1". I really would find this feature useful because I'm running chrooted daemons. I either have to make hard links to the mysql socket file at startup time or I have to use tcp/ip ... tcp/ip would be much less problematic.
If the feature isn't supported I guess I'll resort to firewalling for now.