[rt-users] MySql 'not allowed to connect to host...']

Ron Alexander Ralexander at musiciansfriend.com
Wed Nov 20 13:16:41 EST 2002


mysql.com/doc/en has pretty thorough docu for most problems. Just search 
on what you think, like 'user privileges'. You will be amazed!!
--------------------------------------
http://www.mysql.com/doc/en/Adding_users.html

You can add new users by issuing |GRANT| statements:

shell> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty at localhost
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin at localhost;
mysql> GRANT USAGE ON *.* TO dummy at localhost;

These |GRANT| statements set up three new users:

|monty|
    A full superuser who can connect to the server from anywhere, but
    who must use a password |'some_pass'| to do so. Note that we must
    issue|GRANT| statements for both |monty at localhost| and|monty@"%"|.
    If we don't add the entry with |localhost|, the anonymous user entry
    for |localhost| that is created by|mysql_install_db| will take
    precedence when we connect from the local host, because it has a
    more specific |Host| field value and thus comes earlier in the
|user| table sort order. |admin|
    A user who can connect from |localhost| without a password and who
    is granted the |RELOAD| and |PROCESS| administrative privileges.
    This allows the user to execute the |mysqladmin reload|, |mysqladmin
    refresh|, and |mysqladmin flush-*| commands, as well as|mysqladmin
    processlist| . No database-related privileges are granted. (They can
be granted later by issuing additional |GRANT| statements.) |dummy|
    A user who can connect without a password, but only from the local
    host. The global privileges are all set to |'N'|—the |USAGE|
    privilege type allows you to create a user with no privileges. It is
assumed that you will grant database-specific privileges later.

You can also add the same user access information directly by issuing 
|INSERT| statements and then telling the server to reload the grant tables:

--------------------------------------------------------------------------

>  
>
>        [root at helpdesk fpurdue]# mysql -u rt_user -h helpdesk rt2
>        -ppassword
>        
>        ERROR 1130: Host 'helpdesk.corp.newoppinc.org' is not allowed to
>        connect to this MySQL server
>        
>        [root at helpdesk fpurdue]# mysql -u rt_user -h localhost rt2
>        -ppassword
>        
>        Reading table information for completion of table and column
>        names
>        You can turn off this feature to get a quicker startup with -A
>        
>        Welcome to the MySQL monitor.  Commands end with ; or \g.
>        [...etc]
>
>The problem isn't being able to connect to mysql from the localhost, the
>problem is connecting over the network...
>
>  
>
> -- Fred.Purdue <Fred.Purdue at Pobox.com>
>




More information about the rt-users mailing list