Установка и настройка MySql на CentOS
Подразумевается, что мы работаем c правами root
Устанавливаем MySQL:
yum -y install mysql mysql-server |
Прописываем MySQL в автозапуск:
chkconfig mysqld on |
Запускаем MySQL:
service mysqld start |
Устанавливаем root пароль MySQL:
mysqladmin -u root password 'new-password' |
Где new-password — ваш новый root пароль для MySQL.
Следующее, что нужно сделать, это создать базу данных и пользователя с соответствующими правами.
Подключаемся к MySql:
mysql -u root –p |
И выполняем:
mysql> CREATE database db_test; mysql> GRANT ALL ON db_test.* TO tester@'YY.YY.YY.YY' IDENTIFIED BY 'Ваш пароль'; |
- т.е. создаем базу db_test и пользователя tester с полными правами на эту базу.Пароль пользователя будет 'Ваш пароль', а доступ для него будет открыт с адреса 'YY.YY.YY.YY'
Можно сначала создать пользователя, например, локального, а потом дать ему нужные права:
mysql> CREATE USER 'tester'@'localhost' IDENTIFIED BY 'Ваш пароль'; mysql> GRANT ALL ON db_test.* TO 'tester'@'localhost'; |
В продолжение мысли, если пользователи уже есть, то можно просто поменять их права:
mysql> USE mysql; mysql> UPDATE db set Host='YY.YY.YY.YY' WHERE Db='db_test'; mysql> UPDATE user set Host='YY.YY.YY.YY' WHERE user='tester'; |
'YY.YY.YY.YY' – еще раз уточню, это адрес сервера с коготоро нужно получать доступ.
Теперь выходим из MySql
mysql-> exit |
Последнее, что нужно сделать, это перезагрузить mysql демона:
service mysqld restart. |
Если после этого к Вашим БД нет доступа извне, то стоит проверить, открыт ли порт 3306.
Если порт закрыт, то нужно, в файле /etc/sysconfig/iptables добавить строчку:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT |
Строчку лучше перепечатать или скопировать и вставить из любых уже присутствующих – при прямом копировании иногда слетают символы переноса строки.
После изменений iptables нужно перезагрузить:
service iptables restart |