Ставил ispCP Omega. При установке была бага с преднастройщиком Postfix
hosting:/usr/local/src/ispcp/ispcp-omega-1.0.7# aptitude install $(cat ./docs/Debian/debian-packages-`lsb_release -cs`)
hosting:/usr/local/src/ispcp/ispcp-omega-1.0.7# aptitude install $(cat ./docs/Debian/debian-packages-`lsb_release -cs`)
Вообщем я много раз жал ентер, и одноременно Ctrl+С, таким образом остановил установку, далее забутался. Потом анологично повтрил усаановку, и когда меня преднастройщи Postfix спрашивал о hostname FQDN, на повторный вопрос я ответил нет. Устанока продолжилась...
Далее када все поставилось я перешел к этапу конифигурирования базы. Вот тут и вылезла проблема с отсутствием пользователя root.
debconf-show postfix
Идем в /etc/mysql/debian.cnf и видим что при устаноки базы по умолчанию создался логин и пароль. Заходим.
hosting:/usr/local/src/ispcp/ispcp-omega-1.0.7# cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = CGsdvZpFplfMHq9R
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = CGsdvZpFplfMHq9R
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
hosting:~# mysql -u debian-sys-maint -p
Enter password: CGsdvZpFplfMHq9R
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.0.51a-24+lenny4 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Выбираем бузу mysql
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
Смотрим таблицу user
mysql> select * from user;
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| localhost | debian-sys-maint | *B0EB27A689F6C17DCA846AEA8DF794B21493B4A3 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 |
Как видно пользователя root нет. При установке система по каим-то причинам его не создала, поэтому его нада создать вручную, чем мы сейчас и займемся.
Стандартным методом GRANT ALL PRIVILEGES создать не получиться:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123' WITH GRANT OPTION;
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
Повидемому нашему, по умолчанию, созданному ситемой пользователю debian-sys-maint не хватает прав на команду GRANT ALL PRIVILEGES.
Мы видем что почти под всеми привелегиями стоит Y а под некоторыми N
Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv
N N N N N
Под параметром Create_user_priv стоит N, поэтому мы и не можем создать для root'а, либо любого другого пользователя привелегии с помощью команды GRANT. Однако разрешенная привелегия Insert_priv позволяет нам вставить привелегии. Поэтому прибегним к хитрости. Создадим пользователя другой командой:
INSERT INTO user (Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv, Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv, Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,max_questions,max_updates,max_connections,max_user_connections) VALUES ('localhost','root',PASSWORD('123'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','0','0','0','0');
Это все одна команда в одну строчку! на конце на забываем знак ;
Итак, мы добавляем в базе mysql в таблицу user суперпользователя root.
Всего в таблице user 37 столбцов:
№1-3. Первые три это как видно Host- это домен откуда разрешаем заходить,его значение localhost. User это root. Потом идет пароль 123.
№ 4-29. Далее идут привелегии я насчитал 26 шт. Select_priv,Insert_priv и т.д. из которых пользователю debian-sys-maint по умалчанию созданому системой разрешены только 21, кроме последних 5 помеченных N. Мы же в свою очередь создаем все привелегии со значением
№ 30-33. Далее пропускаем 4 значения для ssl_type | ssl_cipher | x509_issuer | x509_subject (видно пустые солбцы)
№ 34-37. Для последних четырех столбцов указываем четыре нуля.
Затем чтобы привилегии вступили в силу выполняем команду:
mysql> FLUSH PRIVILEGES;
Позже паролшь можно будет сменить камандами:
mysql> UPDATE user SET Password=PASSWORD('123') WHERE User='root' and Host='localhost';
mysql> FLUSH PRIVILEGES;
И перезапускаем базу:
hosting:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Проверив таиблицу user увидем что во всех столбцах с привелегиями стоят Y:
mysql> select * from user;
mysql> select * from user;
| localhost | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
Поздровляю root создан!
Надеюсь Вам поможет. Сам не один час бился вот по этим ссылкам:
aka_delix
Большое спасибо, помогло!
ОтветитьУдалить