1

Тема: Не могу отредактировать таблицу из-под root (почему-то readonly)

phpMyAdmin-2.9.2-all-languages.tar.bz2 утановил всё как учили в разведшколе

создал конфиг config.inc.php
----
/* Servers configuration */
$i = 0;

/* Server localhost (cookie) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'root_pass';
$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* End of servers configuration */

$cfg['blowfish_secret'] = '45c0ac96366677.42008108';
----

права у root нормальные только пароль поменял на 'root_pass', база данных (впрочем как и mysql) только что поставленный.
вот дамп рутовых прав из схемы mysql.
----
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`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) VALUES
('localhost', 'root', '*07E70C96AC66D9671CC0F45EFB98F64FB1320BCE', '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'),
-----

дальше
----
bash$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8428
Server version: 5.0.33-debug Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test;
Database changed
mysql> CREATE TABLE `qwe` (
    -> `id` INT( 11 ) NOT NULL
    -> ) ENGINE = MYISAM ;
Query OK, 0 rows affected (0.37 sec)

mysql> quit
Bye

---
захожу рутом в phpmyadmin и редактирую схему test в ней таблицу qwe, всё замечательно редактится.

а вот любую другую таблицу не даёт редактировать, не появляется "карандаш" (ссылка по которой происходит редактирование)
как будто у рута прав нет, и он работает только readonly, хотя см. выше права у него на SELECT есть впрочем как и на UPDATE, INSERT

кстати говоря INSERT проходит куда угодно, и UPDATE тоже проходит куда угодно (если его писать через SQL запрос)
а вот "карандаш" не показывает при редактировании таблицы.

идеи у когонить есть изза чего такое может быть?

2

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

идеи у когонить есть изза чего такое может быть?

Идеи есть, их не может не быть.

Ты слишком сумбурно все описал:

захожу рутом в phpmyadmin и редактирую схему test в ней таблицу qwe, всё замечательно редактится.

Это как понимать? Схему или базу `test`? Если таблица, то что именно ты редактируешь: её структуру или данные?

В общем, попробуй сформулировать свой вопрос по-другому, чтобы все его поняли.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

3 (изменено: CaHbI4, 2007-02-02 10:10:50)

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

пошагово, всё делаю средствами phpmyadmin под root@localhost

1. зашёл в схему my_schem (успешно)
2. создал таблицу ttt (успешно)
3. вощёл в таблицу (успешно)
4. добавил строку (успешно)
5. открываю строку на редактирования (не даёт исправить то что я только что добавил не появляется "карандаш")
6. делаю таблице Drop (успешно)

----
проделываю всё тоже самое через SQL запросы
1. use my_schem;

2. CREATE TABLE `ttt` (
   `id` INT( 11 ) NOT NULL
    ) ENGINE = MYISAM ;

3. insert into ttt values ('13');

4. update ttt set id='10' where id='13';
Affected rows: 1 (Query took 0.0013 sec)

5. select * from ttt;
показывает строку где 13 действительно поменялось на 10

6. drop table ttt;
Your SQL query has been executed successfully (Query took 0.0013 sec)

----

4

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

CaHbI4
Может проблема в типе соединения. Попробуйте поменять в конфигурационном файле
$cfg['Servers'][$i]['connect_type'] = 'socket';
На
$cfg['Servers'][$i]['connect_type'] = 'tcp';

Если не используются расширенные таблицы, уберите эти строки.
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'root_pass';

Если не поможет, опишите подробнее компоненты всей системы (ОСь, версии сервисов), постараемся посмотреть, почему такое происходит.

5 (изменено: CaHbI4, 2007-02-05 10:24:51)

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

по tcp тоже не помогает.
причём с другого сервера где стоит точно такиеже apache + php + phpmyadmin всё работает.
тоесть я на другой сервер поставил phpmyadmin прописал в config.inc.php ip_адрес,login,pass чтоб он коннектился не локально, а удалённо и всё работает.

server1(назовём его goodserver): Slackware Linux 11.0, mysql5.0.33-debug, Apache/1.3.34, php-4.4.4, phpMyAdmin-2.9.2-all-languages
server2(назовём его badserver): FreeBSD 5.5-RELEASE, mysql5.0.33-debug, Apache/1.3.34, php-4.4.4, phpMyAdmin-2.9.2-all-languages

ситуация следующая:
с good сервера я нормально работаю через phpmyadmin и с локальной mysql и с удалённой mysql (локально - allok, удалённо на badserver - allok)
с bad сервера не получается ни локально ни удалённо.

каталог phpmyadmin сравнивал побайтно, отличий нет. В чём может быть дело ?

6

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

CaHbI4
Ситуация очень странная, похоже что некорректно работает localhost. FreeBSD собирался из исходников или нет? У нашего пользователя была похожая проблема на Windows http://forum.php-myadmin.ru/viewtopic.p … 886#p1886, которая была решена установкой предыдущих версий сервисов, лично я думаю что имеет место конфликт библиотек или где-то оставлен старый конфигурационные файлы my.cnf, php.ini, httpd.conf: поищите их дубли. Вы что-нибудь обновляли перед тем как все это случилось, или устанавливали на чистый сервер?

7

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

я сам понимаю что проблема в badserver, а вот где именно выяснить пока не получается.

8

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

продолжение http://sourceforge.net/forum/forum.php? … m_id=72909

9

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

CaHbI4
Вижу, что вам даже разработчики пока помочь не могут.
Что дало добавление директивы?
$cfg['ModifyDeleteAtLeft'] = FALSE;
$cfg['ModifyDeleteAtLeft'] = TRUE;

Что даст изменение этой директивы?
$cfg['Servers'][$i]['compress'] = false;

Установлен и запущен только один сервис MySQL?

10

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

>>$cfg['ModifyDeleteAtLeft'] = FALSE;
ни на что нивлияет.
я так понимаю эта опция просто показывает или слева или справа, у меня нислева нисправа не отображается.

>>$cfg['Servers'][$i]['compress'] = false;
уже пробовал, толку ноль.

>>Установлен и запущен только один сервис MySQL?
да

11 (изменено: CaHbI4, 2007-02-14 09:09:56)

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

продолжение.

ситуация теперь следущая (что сделал незнаю) теперь my_schem (которую только что сделал) могу редактировать понормальному, добавлять таблицы... редактировать данные в таблице, удалять, дропать и тд.

а вот все остальные таблицы во всех схемах (включая mysql) по прежнему не редактируются.

эти схемы были импортированы из mysql3(другой сервер) при помощи phpmyadmin. только вот mysql-схема родная, она не импортировалась( я сначало подумал что export из mysql3 прощёл както некорректно, но mysql-схема родная.... она не импортировалась, почему она не редактируется)

12

Re: Не могу отредактировать таблицу из-под root (почему-то readonly)

извращённое но работающее решение(надо разработчиков спрашивать на предмет правильности):
в файле libraries/display_tbl.lib.php

function PMA_setDisplayMode(&$the_disp_mode, &$the_total)
...
if ($is_link
&& ($fields_meta[$i]->table == '' || $fields_meta[$i]->table != $prev_table)) {
...

заменить на
...
if ($is_link
&& ($fields_meta[$i]->table == '' || ($fields_meta[$i-1]->table != $prev_table && $i > 0))) {
...