Issues with mysql and logmysql passwords

Revision as of 11:01, 13 February 2008 by Vagarwal (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

If the wiki link below does not work then please follow these steps:

http://wiki.zimbra.com/index.php?title=Resetting_LDAP_%26_MySQL_Passwords

Issue:

Due to wrong passwords in the database mysql/logmysql is not able to connect to the database with the existing password.

We need to change the passwords manually.

Error:

   #logmysql 
   ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra_logger'
   #mysql
   ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'

Steps:

1) For Mysql:

a) Stop the mysql service. [Run as Zimbra: mysql.server stop]

b) Run as ROOT vi /opt/zimbra/bin/mysql.server

c) Modify the following:

     --defaults-file=${mysql_mycnf} \
     --external-locking \
     --ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 &
  TO
     --defaults-file=${mysql_mycnf} \
     --external-locking \
     --ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 --skip-grant-tables &

Save and Exit the file. d) Start the mysql service. [Run as Zimbra: mysql.server start]

e) Connect to the database.

   # mysql
   Welcome to the MySQL monitor.  Commands end with ; or \g.
   Your MySQL connection id is 6883
   Server version: 5.0.45-log Source distribution
   Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
   mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';      ----> Root user.
   mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='zimbra';    ----> Zimbra user.

Make sure the 'password' you specify is should be same as zmlocalconfig -s | grep mysql_root_password and zmlocalconfig -s | grep zimbra_mysql_password.

   mysql> FLUSH PRIVILEGES;
   mysql> exit

f) Go back to the file remove the --skip-grant-tables and save and exit the file.

g) Stop and start the mysql service. [mysql.server stop and start]

h) Now try to connect to mysql.


2) For Logmysql:

a) Stop the logmysql service. [Run as Zimbra: logmysql.server stop]

b) Run as ROOT vi /opt/zimbra/bin/logmysql.server

c) Modify the following:

     --defaults-file=${logger_mysql_mycnf} \
     --external-locking \
     --ledir=${logger_mysql_directory}/libexec &
   TO
     --defaults-file=${logger_mysql_mycnf} \
     --external-locking \
     --ledir=${logger_mysql_directory}/libexec --skip-grant-tables &

Save and Exit the file.

d) Start the logmysql service. [Run as Zimbra: logmysql.server start]

e) Connect to the database.

   # logmysql
   Welcome to the MySQL monitor.  Commands end with ; or \g.
   Your MySQL connection id is 6883
   Server version: 5.0.45-log Source distribution
   Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
   mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';      ----> Root user.
   mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='zimbra';    ----> Zimbra user.

Make sure the 'password' you specify is should be same as zmlocalconfig -s | grep mysql_logger_root_password and zmlocalconfig -s | grep zimbra_logger_mysql_password

   mysql> FLUSH PRIVILEGES;
   mysql> exit

f) Go back to the file remove the --skip-grant-tables and save and exit the file.

g) Stop and start the logmysql service. [logmysql.server stop and start]

h) Now try to connect to logmysql.

Jump to: navigation, search