Issues with mysql and logmysql passwords: Difference between revisions
Line 6: | Line 6: | ||
==Problem== | ==Problem== | ||
Due to wrong passwords in the database of MySQL | Due to wrong passwords in the database of MySQL not able to connect to the database with the existing password. Need to be update the password manually. | ||
'''Error:''' | '''Error:''' | ||
:<code>/opt/zimbra/log/mysql_error.log | |||
:<pre>ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'<pre> | |||
:<code>/opt/zimbra/log/mailbox.log | |||
==For Mysql Database== | ==For Mysql Database== |
Revision as of 07:30, 13 November 2022
Please follow this wiki if following document does not helps you.
http://wiki.zimbra.com/index.php?title=Resetting_LDAP_%26_MySQL_Passwords
Problem
Due to wrong passwords in the database of MySQL not able to connect to the database with the existing password. Need to be update the password manually.
Error:
/opt/zimbra/log/mysql_error.log
ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'
:
/opt/zimbra/log/mailbox.log
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