Issues with mysql and logmysql passwords: Difference between revisions
No edit summary |
(→Error) |
||
Line 9: | Line 9: | ||
====Error==== | ====Error==== | ||
The error might looks like this. | The error might looks like this. | ||
#logmysql | <pre>#logmysql ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'</pre> | ||
ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra' | |||
#mysql | <pre>#mysql ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'</pre> | ||
ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra' | |||
==For Mysql Database== | ==For Mysql Database== |
Revision as of 08:17, 13 November 2022
Article Information |
---|
This article applies to the following ZCS versions. |
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/logmysql not able to connect to the database with the existing password. Need to be update the password manually.
Error
The error might looks like this.
#logmysql ERROR 1044: Access denied for user 'zimbra'@'localhost' to database 'zimbra'
#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