Re: mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
Appreciate any help on this. Any alternative of mysqldump is also fine with me to take backup while restricting root login access from localhost only. Thanks in advance. Regards, Tanmay On Wed, Oct 20, 2010 at 10:14 AM, Tanmay Pradhan tanma...@gmail.com wrote: Yes, r...@localhost entry is still present in user table. Only root@'%' is deleted. So it's not obvious to fail. Hi yu.zou, The r...@localhost entry already had all privileges, except this entry had empty password column. u...@localhost entry before GRANT ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | localhost | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | However, I still gave the following cmd. mysql GRANT select, lock tables ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password'; mysql flush privileges; u...@localhost entry after GRANT == ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
Re: mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
Hi Pradhan, Obviously, it should fail. Since you have deleted the root user which is used by mysqldump for making connection to mysql server for taking backup Krishna CGI.COM On Tue, Oct 19, 2010 at 11:06 AM, Tanmay Pradhan tanma...@gmail.com wrote: Hi, I am using the following version of MySQL on my Mac OS X Server 10.5.8: *** Ver 14.14 Distrib 5.4.1-beta, for apple-darwin9.5.0 (i386) using readline 5.1 *** In order to restrict root account login from localhost only, I did the following: mysql DELETE FROM user WHERE user = 'root' AND host = '%'; mysql FLUSH PRIVILEGES; After this, mysqldump failed with the following error: $ /usr/local/mysql/bin/mysqldump -h localhost -u root ABC_DATABASE abc.dump mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES Even following cmd failed: $ /usr/local/mysql/bin/mysqldump -h host_name -u user1 -p ABC_DATABASE abc.dump mysqldump: Got error: 1045: Access denied for user 'user1'@'IP Address' (using password: YES) when using LOCK TABLES Can anybody advise as how to make mysqldump work while restricting root login access from localhost only? Thanks for any help. Regards, Tanmay -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=prajapat...@gmail.com
Re: mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
Of course you know you did not delete r...@localhost, just root @ '%' which generally should not matter to mysqldump. What I suspect is the issue here is that the database you are trying to dump contains procedures/methods that were defined by a user while logged in as root@'%'. If you recreate those procs as your database user, this should correct. - michael dykman On Tue, Oct 19, 2010 at 8:40 AM, Krishna Chandra Prajapati prajapat...@gmail.com wrote: Hi Pradhan, Obviously, it should fail. Since you have deleted the root user which is used by mysqldump for making connection to mysql server for taking backup Krishna CGI.COM On Tue, Oct 19, 2010 at 11:06 AM, Tanmay Pradhan tanma...@gmail.com wrote: Hi, I am using the following version of MySQL on my Mac OS X Server 10.5.8: *** Ver 14.14 Distrib 5.4.1-beta, for apple-darwin9.5.0 (i386) using readline 5.1 *** In order to restrict root account login from localhost only, I did the following: mysql DELETE FROM user WHERE user = 'root' AND host = '%'; mysql FLUSH PRIVILEGES; After this, mysqldump failed with the following error: $ /usr/local/mysql/bin/mysqldump -h localhost -u root ABC_DATABASE abc.dump mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES Even following cmd failed: $ /usr/local/mysql/bin/mysqldump -h host_name -u user1 -p ABC_DATABASE abc.dump mysqldump: Got error: 1045: Access denied for user 'user1'@'IP Address' (using password: YES) when using LOCK TABLES Can anybody advise as how to make mysqldump work while restricting root login access from localhost only? Thanks for any help. Regards, Tanmay -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=prajapat...@gmail.com -- - michael dykman - mdyk...@gmail.com May the Source be with you. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org
Re: mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
Hellpo Krishna, On 10/19/2010 8:40 AM, Krishna Chandra Prajapati wrote: Hi Pradhan, Obviously, it should fail. Since you have deleted the root user which is used by mysqldump for making connection to mysql server for taking backup Not true. The utility mysqldump is just a client like any other program and can authenticate with the MySQL instance (the database daemon) as any valid user. Krishna CGI.COM On Tue, Oct 19, 2010 at 11:06 AM, Tanmay Pradhantanma...@gmail.com wrote: Hi, I am using the following version of MySQL on my Mac OS X Server 10.5.8: *** Ver 14.14 Distrib 5.4.1-beta, for apple-darwin9.5.0 (i386) using readline 5.1 *** In order to restrict root account login from localhost only, I did the following: mysql DELETE FROM user WHERE user = 'root' AND host = '%'; mysql FLUSH PRIVILEGES; After this, mysqldump failed with the following error: $ /usr/local/mysql/bin/mysqldump -h localhost -u root ABC_DATABASE abc.dump mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES To fix this, you need to reset the DEFINER for a TRIGGER defined within the database so that it is defined as a valid user account. http://dev.mysql.com/doc/refman/5.1/en/triggers.html Even following cmd failed: $ /usr/local/mysql/bin/mysqldump -h host_name -u user1 -p ABC_DATABASE abc.dump mysqldump: Got error: 1045: Access denied for user 'user1'@'IP Address' (using password: YES) when using LOCK TABLES In order to issue the LOCK TABLES command, a user needs certain privileges: http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html Can anybody advise as how to make mysqldump work while restricting root login access from localhost only? Securing MySQL is fairly easy. Check out this guide in the manual for details: http://dev.mysql.com/doc/refman/5.1/en/security.html -- Shawn Green MySQL Principal Technical Support Engineer Oracle USA, Inc. Office: Blountville, TN -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org
Re: mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
Yes, r...@localhost entry is still present in user table. Only root@'%' is deleted. So it's not obvious to fail. Hi yu.zou, The r...@localhost entry already had all privileges, except this entry had empty password column. u...@localhost entry before GRANT ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | Host | User| Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | localhost | root| | Y | Y | Y | Y | Y | Y | Y | Y | Y| Y | Y | Y | Y | Y | Y | Y | Y | Y| Y | Y | Y| Y| Y | Y | Y | Y | Y | Y| || | | 0 | 0 | 0 | 0 | However, I still gave the following cmd. mysql GRANT select, lock tables ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password'; mysql flush privileges; u...@localhost entry after GRANT == ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | Host | User| Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | ++-+---+-+-+-+-+-+---+-+---+--+---++-+++--++---+--+--+-+--+--++-++--++--+--++-+--+---+-+-+--+ | localhost
mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
Hi, I am using the following version of MySQL on my Mac OS X Server 10.5.8: *** Ver 14.14 Distrib 5.4.1-beta, for apple-darwin9.5.0 (i386) using readline 5.1 *** In order to restrict root account login from localhost only, I did the following: mysql DELETE FROM user WHERE user = 'root' AND host = '%'; mysql FLUSH PRIVILEGES; After this, mysqldump failed with the following error: $ /usr/local/mysql/bin/mysqldump -h localhost -u root ABC_DATABASE abc.dump mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES Even following cmd failed: $ /usr/local/mysql/bin/mysqldump -h host_name -u user1 -p ABC_DATABASE abc.dump mysqldump: Got error: 1045: Access denied for user 'user1'@'IP Address' (using password: YES) when using LOCK TABLES Can anybody advise as how to make mysqldump work while restricting root login access from localhost only? Thanks for any help. Regards, Tanmay -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org