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

Line 19: Line 19:
 
'''Steps''':
 
'''Steps''':
  
    1) For Mysql:
+
1) For Mysql:
    a) Stop the mysql service. [Run as Zimbra: mysql.server stop]
+
a) Stop the mysql service. [Run as Zimbra: mysql.server stop]
    b) Run as ROOT vi /opt/zimbra/bin/mysql.server
+
b) Run as ROOT vi /opt/zimbra/bin/mysql.server
    c) Modify the following:
+
c) Modify the following:
 
       --defaults-file=${mysql_mycnf} \
 
       --defaults-file=${mysql_mycnf} \
 
       --external-locking \
 
       --external-locking \
Line 30: Line 30:
 
       --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]
+
d) Start the mysql service. [Run as Zimbra: mysql.server start]
    e) Connect to the database.
+
e) Connect to the database.
 
     # mysql
 
     # mysql
 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
Line 40: Line 40:
 
     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   
+
Make sure the password you specify is should be same as   
    zmlocalconfig -s | grep mysql_root_password and zmlocalconfig -s | grep zimbra_mysql_password.  
+
zmlocalconfig -s | grep mysql_root_password and zmlocalconfig -s | grep zimbra_mysql_password.  
 
     mysql> FLUSH PRIVILEGES;
 
     mysql> FLUSH PRIVILEGES;
 
     mysql> exit
 
     mysql> exit
    f) Go back to the file remove the --skip-grant-tables and save and exit the file.
+
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]
+
g) Stop and start the mysql service. [mysql.server stop and start]
    h) Now try to connect without the --skip-grant-tables option and check.
+
h) Now try to connect without the --skip-grant-tables option and check.
  
  
  
 
'''2) For Logmysql:'''
 
'''2) For Logmysql:'''
    a) Stop the logmysql service. [Run as Zimbra: logmysql.server stop]
+
a) Stop the logmysql service. [Run as Zimbra: logmysql.server stop]
    b) Run as ROOT vi /opt/zimbra/bin/logmysql.server
+
b) Run as ROOT vi /opt/zimbra/bin/logmysql.server
    c) Modify the following:
+
c) Modify the following:
 
       --defaults-file=${logger_mysql_mycnf} \
 
       --defaults-file=${logger_mysql_mycnf} \
 
       --external-locking \
 
       --external-locking \
Line 61: Line 61:
 
       --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]
+
d) Start the logmysql service. [Run as Zimbra: logmysql.server start]
    e) Connect to the database.
+
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 71: Line 71:
 
     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   
+
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
+
zmlocalconfig -s | grep mysql_logger_root_password and zmlocalconfig -s | grep zimbra_logger_mysql_password
 
     mysql> FLUSH PRIVILEGES;
 
     mysql> FLUSH PRIVILEGES;
 
     mysql> exit
 
     mysql> exit
    f) Go back to the file remove the --skip-grant-tables and save and exit the file.
+
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]
+
g) Stop and start the logmysql service. [logmysql.server stop and start]
    h) Now try to connect without the --skip-grant-tables option in the file and check.
+
h) Now try to connect without the --skip-grant-tables option in the file and check.

Revision as of 10:57, 13 February 2008

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 without the --skip-grant-tables option and check.


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 without the --skip-grant-tables option in the file and check.

Jump to: navigation, search