Skocz do zawartości

Update Phpmyadmin I Brak Możliwości Edycji Rekordów


pag-r

Rekomendowane odpowiedzi

Zrobiłem ostatnio update phpMyAdmin i do wtedy mam dość niewygodny problem. Mianowicie nie mogę edytować ani usuwać rekordów przez pma, bo dostaję takie coś po prawej stronie phpMyAdmin:

You don't have permission to access /phpmyadmin/sql.php on this server.

Przegoglowałem już w zasadzię większość opisanych przypadków włączając w to zmiany w phpMyAdmin.config.php i mod_phpmyadmin.conf z /etc/httpd/conf.d i wciąż to samo. O ile usuwanie/edycja pojedyńczego wiersza to nie problem to akurat teraz pracuje nad czymś co zapisuje tych danych niezwykle dużo i wpisywanie poleceń SQL jest wybitnie niewygodne. Dodam, że nie na wszystkich bazach taka sytuacja ma miejsce...

Jakiekolwiek sugestie będę sprawdzał skrupulatnie.

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Dodam, że nie na wszystkich bazach taka sytuacja ma miejsce...
Czyli masz wskazanie, że coś jest z dostępem do samej bazy. Wybierz bazę, do której masz dostęp i na zakładce "Uprawnienia" sprawdź jacy użytkownicy/hosty mają dostęp i ustaw analogicznie dla tej bazy, do której prawa są niewystarczające.
Odnośnik do komentarza
Udostępnij na innych stronach

Sluszna uwaga, na to nie zwrócilem uwagi. Ale mam akurat na to dobre wytlumaczenie - na localhoscie korzystam z polaczeniami na koncie roota, wiem, ze to niebezpieczne, ale tak mi wygodniej. Dopiero przenoszac serwis rozdzielam sobie, jakie uprawnienia ma user (select) a jaki administrator (sidu). Wiec pomysl z uprawnieniami odpada w tym wypadku, poniewaz pracujac na tej tabeli przez pma wchodze jako root. Co jest dziwne pod konsola moge edytowac/usuwac bez problemów. Wiec albo to wina zlych ustawien któregos z plików pma albo sam nie wiem ;(.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 month later...

//odświeżam temat

problem wciąż istnieje, nie pomoga chown apache:apache /usr/share/phpMyAdmin ani chmod tego katalogu na 755. Nawet kiedy wrzucę paczkę pobrana phpMyAdmin do /var/www/html to mam ten sam efekt. Wiec wina jest po stronie konfiguracji pewnie w phpMyAdmin.conf. I tutaj prośba, czy ktoś mógłby wrzucić listing tego pliku, działający? Niewygodne jest korzystanie z konsoli. Może nie niewygodne, ale czasochłonne:/

Odnośnik do komentarza
Udostępnij na innych stronach

//odswiezam tematWiec wina jest po stronie konfiguracji pewnie w phpMyAdmin.conf. I tutaj prosba, czy ktos móglby wrzucic listing tego pliku, dzialajacy? Niewygodne jest korzystanie z konsoli. Moze nie niewygodne, ale czasochlonne:/

Usun ten plik to z tego co kojarze pojawi Ci sie strona instalacyjna z phpmyadmina. Wtedy go zainstalujesz od nowa.To znaczy - tylko zgaduje ze sie pojawi. Równie dobrze moze sie wywalic, ale osobiscie watpie. No ale, skoro nie dziala, to nie masz nic do stracenia, a instalacja od nowa to 5 minut (-;

Odnośnik do komentarza
Udostępnij na innych stronach

Usuń ten plik to z tego co kojarzę pojawi Ci się strona instalacyjna z phpmyadmina. Wtedy go zainstalujesz od nowa.To znaczy - tylko zgaduję że się pojawi. Równie dobrze może się wywalić, ale osobiście wątpię. No ale, skoro nie działa, to nie masz nic do stracenia, a instalacja od nowa to 5 minut (-;

You don't have permission to access /phpMyAdmin/tbl_change.php on this server.

. Nie pojawiła się strona setup'u. Cokolwiek próbuje zrobić wciąż pojawia się to samo. Przeinstalowałem phpMyAdmin, usunąłem z /etc/httpd/conf.d/ wszystki pliki phpMyAdmin.conf, utworzył się nowy po instalacji ale wciąż to samo. Może po prostu dodać vhost do httpd.conf i usunąć plik phpMyAdmin.conf?

Odnośnik do komentarza
Udostępnij na innych stronach

You don't have permission to access /phpMyAdmin/tbl_change.php on this server.

. Nie pojawiła się strona setup'u. Cokolwiek próbuje zrobić wciąż pojawia się to samo. Przeinstalowałem phpMyAdmin, usunąłem z /etc/httpd/conf.d/ wszystki pliki phpMyAdmin.conf, utworzył się nowy po instalacji ale wciąż to samo. Może po prostu dodać vhost do httpd.conf i usunąć plik phpMyAdmin.conf?

 

vhost powinien być utworzony (wiec zrób to jak go nie masz), i phpMyAdmin.inc.php powinien być też poprawnie skonfigurowany.

Odnośnik do komentarza
Udostępnij na innych stronach

tylko lokalnie, z klasy adresów prywatnych 192.x.y.z. Próbowałem już Allow from 127.0.0.1, Allow from ::1, Allow from 192.168.1.13, itd. i wciąż to samo. Jakieś mam przyzwyczajenie, że jeśli niesprawdzę skryptu lokalnie to nie wysyłam na serwer i stąd tylko i wyłącznie działa to na localu, więcej powiem na jednym tylko laptopie, na którym pracuje, więc nawet zakres adresów nie jest mi potrzebny do niczego.

 

A w pliku /etc/phpMyAdmin/config.inc.php masz wprowadzone odpowiednie zmiany?

O jakie zmiany chodzi?

$cfg['Servers'][$i]['host']          = 'localhost';
$cfg['Servers'][$i]['connect_type']  = 'tcp'; 
$cfg['Servers'][$i]['extension'] 	= 'mysqli';
$cfg['Servers'][$i]['compress']      = FALSE;   
$cfg['Servers'][$i]['auth_type'] 	= 'config';
$cfg['Servers'][$i]['user']          = 'db_admin';  
$cfg['Servers'][$i]['password']      = 'db_pass';
$cfg['Servers'][$i]['AllowRoot'] 	= TRUE;   
$cfg['Servers'][$i]['AllowDeny']['order']      
$cfg['Servers'][$i]['AllowDeny']['rules']      
                            		= array();
$cfg['Servers'][$i]['AllowNoPassword'] 		
                            		= FALSE;  
$cfg['Servers'][$i]['bs_garbage_threshold']    
                            		= 50; 	
$cfg['Servers'][$i]['bs_repository_threshold'] 
                            		= '32M';  
$cfg['Servers'][$i]['bs_temp_blob_timeout']    
                            		= 600;    
$cfg['Servers'][$i]['bs_temp_log_threshold']   
                            		= '32M';  
$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';
$cfg['SaveDir']   = '/var/lib/phpMyAdmin/save';

 

Nie pisz posta pod swoim własnym - korzystaj z edycji

Edytowane przez WalDo
Łączenie postów
Odnośnik do komentarza
Udostępnij na innych stronach

Ten plik wydaje się być niekompletny np. w linii $cfg['Servers'][$i]['AllowDeny']['order'] brakuje przypisanej wartości, no i użytkownik i hasło też jakieś podejrzane.

Zrób może tak, w konsoli jako root: mysqladmin -u root password 'password1234' i potem nadpisz config.inc.php takim czymś:

<?php
/**
* phpMyAdmin configuration file, you can use it as base for the manual
* configuration. For easier setup you can use "setup/".
*
* All directives are explained in Documentation.html and on phpMyAdmin
* wiki <http://wiki.phpmyadmin.net>.
*/

/*
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/**
* Server(s) configuration
*/
$i = 0;

// The $cfg['Servers'] array starts with $cfg['Servers'][1].  Do not use
// $cfg['Servers'][0]. You can disable a server config entry by setting host
// to ''. If you want more than one server, just copy following section
// (including $i incrementation) serveral times. There is no need to define
// full server array, just define values you need to change.
$i++;
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection
                                                   // (requires PHP >= 4.3.0)
$cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings
                                                   // (this user must have read-only
$cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"
                                                   // and "mysql/db" tables).
                                                   // The controluser is also
                                                   // used for all relational
                                                   // features (pmadb)
$cfg['Servers'][$i]['auth_type']     = 'http';      // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'root';          // MySQL user
$cfg['Servers'][$i]['password']      = 'password1234';          // MySQL password (only needed
                                                   // with 'config' auth_type)
$cfg['Servers'][$i]['only_db']       = '';          // If set to a db-name, only
                                                   // this db is displayed in left frame
                                                   // It may also be an array of db-names, where sorting order is relevant.
$cfg['Servers'][$i]['hide_db']       = '';          // Database name to be hidden from listings
$cfg['Servers'][$i]['verbose']       = '';          // Verbose name for this host - leave blank to show the hostname

$cfg['Servers'][$i]['pmadb']         = '';          // Database used for Relation, Bookmark and PDF Features
                                                   // (see scripts/create_tables.sql)
                                                   //   - leave blank for no support
                                                   //     DEFAULT: 'phpmyadmin'
$cfg['Servers'][$i]['bookmarktable'] = '';          // Bookmark table
                                                   //   - leave blank for no bookmark support
                                                   //     DEFAULT: 'pma_bookmark'
$cfg['Servers'][$i]['relation']      = '';          // table to describe the relation between links (see doc)
                                                   //   - leave blank for no relation-links support
                                                   //     DEFAULT: 'pma_relation'
$cfg['Servers'][$i]['table_info']    = '';          // table to describe the display fields
                                                   //   - leave blank for no display fields support
                                                   //     DEFAULT: 'pma_table_info'
$cfg['Servers'][$i]['table_coords']  = '';          // table to describe the tables position for the PDF schema
                                                   //   - leave blank for no PDF schema support
                                                   //     DEFAULT: 'pma_table_coords'
$cfg['Servers'][$i]['pdf_pages']     = '';          // table to describe pages of relationpdf
                                                   //   - leave blank if you don't want to use this
                                                   //     DEFAULT: 'pma_pdf_pages'
$cfg['Servers'][$i]['column_info']   = '';          // table to store column information
                                                   //   - leave blank for no column comments/mime types
                                                   //     DEFAULT: 'pma_column_info'
$cfg['Servers'][$i]['history']       = '';          // table to store SQL history
                                                   //   - leave blank for no SQL query history
                                                   //     DEFAULT: 'pma_history'
$cfg['Servers'][$i]['verbose_check'] = TRUE;        // set to FALSE if you know that your pma_* tables
                                                   // are up to date. This prevents compatibility
                                                   // checks and thereby increases performance.
$cfg['Servers'][$i]['AllowRoot']     = TRUE;        // whether to allow root login
$cfg['Servers'][$i]['AllowDeny']['order']           // Host authentication order, leave blank to not use
                                    = '';
$cfg['Servers'][$i]['AllowDeny']['rules']           // Host authentication rules, leave blank for defaults
                                    = array();
$cfg['Servers'][$i]['AllowNoPassword']              // Allow logins without a password. Do not change the FALSE
                                    = FALSE;       // default unless you're running a passwordless MySQL server
$cfg['Servers'][$i]['designer_coords']              // Leave blank (default) for no Designer support, otherwise
                                    = '';          // set to suggested 'pma_designer_coords' if really needed
$cfg['Servers'][$i]['bs_garbage_threshold']         // Blobstreaming: Recommented default value from upstream
                                    = 50;          //   DEFAULT: '50'
$cfg['Servers'][$i]['bs_repository_threshold']      // Blobstreaming: Recommented default value from upstream
                                    = '32M';       //   DEFAULT: '32M'
$cfg['Servers'][$i]['bs_temp_blob_timeout']         // Blobstreaming: Recommented default value from upstream
                                    = 600;         //   DEFAULT: '600'
$cfg['Servers'][$i]['bs_temp_log_threshold']        // Blobstreaming: Recommented default value from upstream
                                    = '32M';       //   DEFAULT: '32M'
/*
* End of servers configuration
*/

/*
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';
$cfg['SaveDir']   = '/var/lib/phpMyAdmin/save';

?>

Jeśli masz jakiś niestandardowy port to zmień. Zwróć uwagę na auth_type, który powinien być ustawiony na http, jeśli łączysz się przez przeglądarkę, a u Ciebie w starym pliku tak nie jest. Na końcu restart usług: service httpd restart && service mysqld restart i o ile nie namieszałeś nic wcześniej w http.conf i phpMyAdmin.conf to powinno działać. Jeśli nie będzie ok to może wklej jeszcze zawartość tych plików.

Odnośnik do komentarza
Udostępnij na innych stronach

Niekompletny bo nie przykleiłem całości. Konto roota mam. te, które wpisałem db_admin to po prostu zamieniłem.

$cfg['Servers'][$i]['auth_type']        = 'http';
$cfg['Servers'][$i]['user']          = 'root';  
$cfg['Servers'][$i]['password']      = 'mysql'
$cfg['Servers'][$i]['AllowDeny']['order']    = ''

Wciąż to samo. Nie wykluczam, że namieszałem w phpMyAdmin.conf

# phpMyAdmin - Web based MySQL browser written in php
# 
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
  Order Deny,Allow
  Deny from All
  Allow from 192.168.1.13
#   Order Allow,Deny
#   Allow from All
  Allow from 127.0.0.1
  Allow from ::1
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
  Order Deny,Allow
  Deny from All
  Allow from 192.168.1.13
  Allow from 127.0.0.1
  Allow from ::1
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
   Order Deny,Allow
   Deny from All
   Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
   Order Deny,Allow
   Deny from All
   Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>

Odnośnik do komentarza
Udostępnij na innych stronach

Wczesniej piszac lokalnie mialem na mysli localhost. Chwilowo mozesz wywalic te linie Allow i wstawic Allow from all, chociaz pewnie nie to jest zródlem problemu. Nie wiem, ostatnio u siebie stawialem i nie mialem zadnych problemów z phpMyAdmin. Jeszcze ewentualnie poszukaj czegos w http.conf i w php.ini.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...