Quite a few of users who attempt to install IndiMail first time, face
the biggest issue with MySQL installation and configuration. Most of the
issues relate to the following
/var/indimail/bin/svc -u /service/mysql.3306
to start up MySQL.
The solution to the second problem is to create a blank MySQL database by running the following command
/var/indimail/bin/svc -d /service/mysql.3306
/bin/rm -r /var/indimail/mysqldb/data
/usr/bin/mysql_install_db --user=mysql --datadir=/var/indimail/mysqldb/data
chown -R mysql:mysql /var/indimail/mysqldb/data
/var/indimail/bin/svc -u /service/mysql.3306
mysql -u root -p
mysql> use mysql;
mysql> update user set password=PASSWORD('some_pass') where user='root';
mysql> CREATE USER indimail identified by 'ssh-1.5-';
mysql> CREATE USER mysql identified by '4-57343-';
mysql> CREATE USER admin identified by 'benhur20';
mysql> CREATE USER repl identified by 'slaveserver';
mysql> GRANT SELECT,CREATE,ALTER,INDEX,INSERT,UPDATE,DELETE, \
mysql> CREATE TEMPORARY TABLES, \
mysql> LOCK TABLES ON indimail.* to 'indimail';
mysql> GRANT RELOAD,SHUTDOWN,PROCESS,SUPER on *.* to admin;
mysql> GRANT REPLICATION SLAVE on *.* to repl;
The third problem can be solved by replacing socket=/var/lib/mysql/mysql.sock with socket=/tmp/mysql.sock in /etc/my.cnf or equivalent file. You can also copy /var/indimail/etc/indimail.cnf as .indimail.cnf in your home directory. i.e.
cp /var/indimail/etc/indimail.cnf $HOME/.indimail.cnf
To avoid the above problems, it is recommended to use one of the below MySQL versions
% mysql_config --version
The fourth problem relates to a workaround made in IndiMail to prevent MySQL injection. What is needed is to set NO_BACKSLASH_ESCAPES in the MySQL server. You can use either of the two methods below
- MySQL version less than 5.1: MySQL fails to startup under supervise
- MySQL version less than 5.1: svctool fails to create a default database for IndiMail during rpm installation.
- /etc/my.cnf uses socket=/var/lib/mysql/mysql.sock. IndiMail uses /tmp/mysql.sock. Connection to MySQL fails if you use mysql(1) (without -S opton).
- You get MySQL syntax error when running indimail programs
/var/indimail/bin/svc -u /service/mysql.3306
to start up MySQL.
The solution to the second problem is to create a blank MySQL database by running the following command
/var/indimail/bin/svc -d /service/mysql.3306
/bin/rm -r /var/indimail/mysqldb/data
/usr/bin/mysql_install_db --user=mysql --datadir=/var/indimail/mysqldb/data
chown -R mysql:mysql /var/indimail/mysqldb/data
/var/indimail/bin/svc -u /service/mysql.3306
mysql -u root -p
mysql> use mysql;
mysql> update user set password=PASSWORD('some_pass') where user='root';
mysql> CREATE USER indimail identified by 'ssh-1.5-';
mysql> CREATE USER mysql identified by '4-57343-';
mysql> CREATE USER admin identified by 'benhur20';
mysql> CREATE USER repl identified by 'slaveserver';
mysql> GRANT SELECT,CREATE,ALTER,INDEX,INSERT,UPDATE,DELETE, \
mysql> CREATE TEMPORARY TABLES, \
mysql> LOCK TABLES ON indimail.* to 'indimail';
mysql> GRANT RELOAD,SHUTDOWN,PROCESS,SUPER on *.* to admin;
mysql> GRANT REPLICATION SLAVE on *.* to repl;
The third problem can be solved by replacing socket=/var/lib/mysql/mysql.sock with socket=/tmp/mysql.sock in /etc/my.cnf or equivalent file. You can also copy /var/indimail/etc/indimail.cnf as .indimail.cnf in your home directory. i.e.
cp /var/indimail/etc/indimail.cnf $HOME/.indimail.cnf
To avoid the above problems, it is recommended to use one of the below MySQL versions
- mysql-6.0.3-alpha
- mysql-6.0.9-alpha
- mysql-5.0.26
- mysql-5.0.77
- mysql-5.1.40
- mysql-5.4.3-beta
- mysql-5.5.0-m2
- MariaDB 5.1.42
% mysql_config --version
The fourth problem relates to a workaround made in IndiMail to prevent MySQL injection. What is needed is to set NO_BACKSLASH_ESCAPES in the MySQL server. You can use either of the two methods below
- This SQL mode also can be enabled automatically when the server starts by using the command-line option
`--sql-mode=NO_BACKSLASH_ESCAPES' or by setting - Set `sql-mode=NO_BACKSLASH_ESCAPES' in the server option file (for
example, `my.cnf' or `my.ini', depending on your system).
0 comments:
Post a Comment