Issues with mysql and logmysql passwords: Difference between revisions

(Adding Template:Article_Footer, and categories)
No edit summary
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