[Comm] service mysqld start -> Adjusting environment for mysqld

Шенцев Алексей Владимирович =?iso-8859-1?q?ashen_=CE=C1_nsrz=2Eru?=
Вт Сен 19 13:16:43 MSD 2006


В сообщении от 19 сентября 2006 15:54 Aleksander N. Gorohovski написал(a):
> Алексей,
> так чтоб настраивать его, надо чтобы он, по крайней мере, был запущен?
> Может я ошибаюсь?
Ошибаетесь. Думаю Вам это будет интересно прочесть, только учтите "rootpass" 
это для примера:

Займёмся SQL-сервером MySQL. Устанавливаем MySQL-server, MySQL-client, 
MySQL-doc, phpMyAdmin и всё что они за собой потянут. Смотрим на каких 
уровнях ОС запскается mysql: 
$ chkconfig --list | grep mysqld
mysqld 0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл
Устанавливаем запуск mysqld на 3,4, и 5-ом уровнях:
$ chkconfig --level 345 mysqld on
Проверяем:
$ chkconfig --list | grep mysqld
mysqld 0:выкл 1:выкл 2:выкл 3:вкл 4:вкл 5:вкл 6:выкл
 В конфиге mysql - /var/lib/mysql/my.cnf коментируем строку skip-networking. 
Нам это надо для того, чтобы можно было обратиться к mysql из сети, ибо мы 
хотим им управлять из любой точки нашей ЛВС по веб-интерфейсу, ну а от инета 
доступ мы закроем файерволом (как и что это уже не здесь). Итак конфиг mysql 
мы привели к виду:
$ cat /var/lib/mysql/my.cnf
[mysqld]
chroot=/var/lib/mysql
datadir=/db
bdb-logdir=/log
log=/log/queries
pid-file=/mysqld.pid
skip-locking
#skip-networking
socket=/mysql.sock
tmpdir=/tmp
user=mysql
 
Запускаем mysql:
$ service mysqld start
Adjusting environment for mysqld: [ DONE ]
Starting mysqld service: [ DONE ]
Соединяемс с mysql и меняем пароль root'а:
$ mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.24-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> UPDATE user SET Password=PASSWORD('rootpass') WHERE user='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> quit
Bye
 
И перегружаем mysql:
$ service mysqld restart
Stopping mysqld service: [ DONE ]
Adjusting environment for mysqld: [ DONE ]
Starting mysqld service: [ DONE ]
 Подсоединяемся к серверу ещё раз, только теперь с новым паролем и из таблицы 
user удаляем запись пользователя '%' и '' (какая есть), т.к. эта запись 
предоставляет доступ любому пользователю.
$ mysql -u root -p mysql
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.24-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> DELETE FROM user WHERE user='%';
Query OK, 0 rows affected (0.00 sec)
mysql> DELETE FROM user WHERE user='';
Query OK, 2 rows affected (0.00 sec)
mysql> quit
Bye
 Так как мы изменили пароль пользователя root, то теперь не сможет работать 
logrotate. Для исправления добавляем в конец файла /var/lib/mysql/my.cnf 
соответсвующие параметры:
# cat /var/lib/mysql/my.cnf
[mysqld]
chroot=/var/lib/mysql
datadir=/db
bdb-logdir=/log
log=/log/queries
pid-file=/mysqld.pid
skip-locking
#skip-networking
socket=/mysql.sock
tmpdir=/tmp
user=mysql
[mysqladmin]
password=rootpass
user=root
 И перегружаем mysql.
 Веб-интерфейс для управления MySQL. Пакет phpMyAdmin мы уже установили. 
Заходим в каталог /var/www/html/phpMyAdmin/ и в файле конфигурации 
config.inc.php в строке $cfg['Servers'][$i]['auth_type'] = 'config' 
значение 'config' заменяем на значение 'http'. Замену производим в самом 
первом вхождении данной сроки, есть ещё два вхождения, но я их трогать не 
стал, так как в php не разбираюсь, а вникать что и как в конфиге не стал, у 
меня и так всё заработало. Ну а теперь топаем на ссылку 
http://localhost/phpMyAdmin/, вводим имя пользоваиеля, у нас это root, и 
пароль, у нас это rootpass и - вуаля, мы находимся на странице веб-интерфейса 
для СУДБ MySQL. Единственное что я предложил бы, так это перенести 
каталог /var/www/html/phpMyAdmin/ в созданный каталог /var/www/html/admin/ . 
Мне, например, удобней обращаться по адресу http://localhost/admin/phpMyAdmin, 
чем лазить по всему сайту, вспоминая хде что лежит ... ;) Тем более, что 
перенос каталога ничего не меняет, кроме размещения самого каталога. Так что 
далее обращаться к phpMyAdmin и к postfixadmin будеем через 
http://localhost/admin/ , тем более, что на данный каталог можно навесить 
дополнительную защиту к самой авторизации пользователей в используемых нами 
программах администрирования, что, по моему мнению, повышает безопастность 
всей системы в целом. Если я не прав, то пусть меня поправят, уточнят и 
дополнят.
-- 
С уважением Шенцев Алексей Владимирович.
E-mail: ashen на nsrz.ru
ICQ: 271053845


Подробная информация о списке рассылки community