Difference between revisions of "Issues with mysql and logmysql passwords"

(Adding Template:Article_Footer, and categories)
Line 1: Line 1:
If the wiki link below does not work then please follow these steps:
+
__TOC__
  
 +
Please follow this wiki if following document does not helps you.
 
http://wiki.zimbra.com/index.php?title=Resetting_LDAP_%26_MySQL_Passwords
 
http://wiki.zimbra.com/index.php?title=Resetting_LDAP_%26_MySQL_Passwords
  
'''Issue:'''
+
==The Problem==
  
Due to wrong passwords in the database mysql/logmysql is not able to connect to the database with the existing password.
+
Due to wrong passwords in the database of mysql/logmysql is not able to connect to the database with the existing password. We need to change the passwords manually.  
  
We need to change the passwords manually.
+
==The Error==
  
'''Error''':
+
The error might looks like this.
  
 
     #logmysql  
 
     #logmysql  
Line 17: Line 18:
 
     ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'
 
     ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'
  
'''Steps''':
+
==For Mysql Database==
  
1) For Mysql:
+
1. Stop the mysql service. [Run as Zimbra]
  
a) Stop the mysql service. [Run as Zimbra: mysql.server stop]
+
  $ mysql.server stop
  
b) Run as ROOT vi /opt/zimbra/bin/mysql.server
+
2. Modify the /opt/zimbra/bin/mysql.server to start the mysql with skipping the grant tables. [Run as ROOT]
  
c) Modify the following:
+
  # vi /opt/zimbra/bin/mysql.server
 +
 +
Modify the following:
 
       --defaults-file=${mysql_mycnf} \
 
       --defaults-file=${mysql_mycnf} \
 
       --external-locking \
 
       --external-locking \
 
       --ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 &
 
       --ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 &
 +
 
   TO
 
   TO
 +
 
       --defaults-file=${mysql_mycnf} \
 
       --defaults-file=${mysql_mycnf} \
 
       --external-locking \
 
       --external-locking \
 
       --ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 --skip-grant-tables &
 
       --ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 --skip-grant-tables &
 +
 
Save and Exit the file.
 
Save and Exit the file.
d) Start the mysql service. [Run as Zimbra: mysql.server start]
 
  
e) Connect to the database.
+
3. Start the mysql service. [Run as Zimbra]
 +
  $ mysql.server start
 +
 
 +
4. Connect to the database and change the passwords.
 +
 
 
     # mysql
 
     # mysql
 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
Line 44: Line 53:
 
     mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';      ----> Root user.
 
     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.
 
     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.
+
Make sure the 'password' you specify is should be same as in the localconfig. Run following command to check those passwords.
 +
 
 +
  zmlocalconfig -s | grep mysql_root_password
 +
  zmlocalconfig -s | grep zimbra_mysql_password
  
g) Stop and start the mysql service. [mysql.server stop and start]
+
Flush the privileges and exit.
 +
 
 +
  mysql> FLUSH PRIVILEGES;
 +
  mysql> exit
  
h) Now try to connect to mysql.
+
5. Go back to the file remove the --skip-grant-tables from /opt/zimbra/bin/mysql.server and save and exit the file. You will need to do it as root.
  
 +
6. Stop and start the mysql service. [Run as zimbra]
  
 +
  $ mysql.server stop
 +
  $ mysql.server start
  
'''2) For Logmysql:'''
+
7. Now you should be able to connect to the mysql.
  
a) Stop the logmysql service. [Run as Zimbra: logmysql.server stop]
+
  $ mysql zimbra
  
b) Run as ROOT vi /opt/zimbra/bin/logmysql.server
+
==For logger database==
  
c) Modify the following:
+
1. Stop the logger mysql service. [Run as Zimbra]
 +
 
 +
  $ logmysql.server stop
 +
 
 +
2. Modify the /opt/zimbra/bin/logmysql.server to start the logmysql with skipping the grant tables. [Run as ROOT]
 +
 
 +
  # vi /opt/zimbra/bin/logmysql.server
 +
 
 +
Modify the following:
 
       --defaults-file=${logger_mysql_mycnf} \
 
       --defaults-file=${logger_mysql_mycnf} \
 
       --external-locking \
 
       --external-locking \
 
       --ledir=${logger_mysql_directory}/libexec &
 
       --ledir=${logger_mysql_directory}/libexec &
 +
 
     TO
 
     TO
 +
 
       --defaults-file=${logger_mysql_mycnf} \
 
       --defaults-file=${logger_mysql_mycnf} \
 
       --external-locking \
 
       --external-locking \
 
       --ledir=${logger_mysql_directory}/libexec --skip-grant-tables &
 
       --ledir=${logger_mysql_directory}/libexec --skip-grant-tables &
 +
 
Save and Exit the file.
 
Save and Exit the file.
  
d) Start the logmysql service. [Run as Zimbra: logmysql.server start]
+
3. Start the logmysql service. [Run as Zimbra]
 +
  $ logmysql.server start
 +
 
 +
4. Connect to the database and change the passwords.
  
e) Connect to the database.
 
 
     # logmysql
 
     # logmysql
 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
Line 83: Line 110:
 
     mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';      ----> Root user.
 
     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.
 
     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.
+
Make sure the 'password' you specify is should be same as in the localconfig. Run following command to check those passwords.
 +
 
 +
  zmlocalconfig -s | grep mysql_logger_root_password
 +
  zmlocalconfig -s | grep zimbra_logger_mysql_password
 +
 
 +
Flush the privileges and exit.
 +
 
 +
  mysql> FLUSH PRIVILEGES;
 +
  mysql> exit
 +
 
 +
5. Go back to the file remove the --skip-grant-tables from /opt/zimbra/bin/logmysql.server and save and exit the file. You will need to do it as root.
 +
 
 +
6. Stop and start the mysql service. [Run as zimbra]
  
g) Stop and start the logmysql service. [logmysql.server stop and start]
+
  $ logmysql.server stop
 +
  $ logmysql.server start
  
h) Now try to connect to logmysql.
+
7. Now you should be able to connect to the logmysql.
  
 +
  $ logmysql zimbra_logger
  
 
{{Article_Footer|ZCS 5.0.x|2/13/2008}}
 
{{Article_Footer|ZCS 5.0.x|2/13/2008}}

Revision as of 10:39, 24 November 2008

Please follow this wiki if following document does not helps you. http://wiki.zimbra.com/index.php?title=Resetting_LDAP_%26_MySQL_Passwords

The Problem

Due to wrong passwords in the database of mysql/logmysql is not able to connect to the database with the existing password. We need to change the passwords manually.

The Error

The error might looks like this.

   #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'

For Mysql Database

1. Stop the mysql service. [Run as Zimbra]

 $ mysql.server stop

2. Modify the /opt/zimbra/bin/mysql.server to start the mysql with skipping the grant tables. [Run as ROOT]

 # vi /opt/zimbra/bin/mysql.server

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.

3. Start the mysql service. [Run as Zimbra]

 $ mysql.server start

4. Connect to the database and change the passwords.

   # 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 in the localconfig. Run following command to check those passwords.

 zmlocalconfig -s | grep mysql_root_password
 zmlocalconfig -s | grep zimbra_mysql_password

Flush the privileges and exit.

 mysql> FLUSH PRIVILEGES;
 mysql> exit

5. Go back to the file remove the --skip-grant-tables from /opt/zimbra/bin/mysql.server and save and exit the file. You will need to do it as root.

6. Stop and start the mysql service. [Run as zimbra]

 $ mysql.server stop
 $ mysql.server start

7. Now you should be able to connect to the mysql.

 $ mysql zimbra

For logger database

1. Stop the logger mysql service. [Run as Zimbra]

 $ logmysql.server stop

2. Modify the /opt/zimbra/bin/logmysql.server to start the logmysql with skipping the grant tables. [Run as ROOT]

 # vi /opt/zimbra/bin/logmysql.server

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.

3. Start the logmysql service. [Run as Zimbra]

 $ logmysql.server start

4. Connect to the database and change the passwords.

   # 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 in the localconfig. Run following command to check those passwords.

 zmlocalconfig -s | grep mysql_logger_root_password
 zmlocalconfig -s | grep zimbra_logger_mysql_password

Flush the privileges and exit.

  mysql> FLUSH PRIVILEGES;
  mysql> exit

5. Go back to the file remove the --skip-grant-tables from /opt/zimbra/bin/logmysql.server and save and exit the file. You will need to do it as root.

6. Stop and start the mysql service. [Run as zimbra]

 $ logmysql.server stop
 $ logmysql.server start

7. Now you should be able to connect to the logmysql.

 $ logmysql zimbra_logger
Verified Against: ZCS 5.0.x Date Created: 2/13/2008
Article ID: https://wiki.zimbra.com/index.php?title=Issues_with_mysql_and_logmysql_passwords Date Modified: 2008-11-24



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search