Fórum Root.cz
Hlavní témata => Server => Téma založeno: pb73 29. 04. 2024, 10:19:47
-
Zdravím,
vytvářím server pro PHP SQL webové aplikace na NAS Synology.
nainstaloval jsem si (místo MySQL) Maria.DB 10 a phpMyAdmin 5.20.
pro provoz PHP aplikací se potřebuji připojovat k DB a to jsem vždy dělal přes uživatele "phpuser" kterého jsem vytvořil v DB Mysql> TAB user
v Maria.DB my nejde s uživateli v tabulce user nic dělat... ani upravit stávající ani vytvořit nového.
Myslím, že píše, že k tomu nemám práva. Přitom jsem v phpMyAdmin přihlášen jako root.
Hláška z phpMyAdminu:
#1356 - View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
Prosím poraďte my co s tím?
Díky. Petr
-
"Privileges" -> "Reload the Privileges" nepomoze?
-
Instaloval jsi MariaDB i phpMyAdmin přes Package Center?
Dělal jsi ještě něco jiného?
Jak vytváříš uživatele phpuser?
Jaká práva to vypíše pro uživatele, kterým jsi přihlášený?
SHOW GRANTS;
Přibližně tohle?
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*B0CCBC348BB1695830F1B3362F6D92942FE1BF35' WITH GRANT OPTION
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
Na Synology jsem si rozjel MariaDB a phpMyAdmin a v SQL pustil:
CREATE DATABASE phpapp;
CREATE USER 'phpuser'@'localhost' IDENTIFIED BY 'superTAJNEheslo123!';
GRANT ALL PRIVILEGES ON phpapp.* TO 'phpuser'@'localhost';
FLUSH PRIVILEGES;
A uživatel se založil:
SHOW GRANTS FOR 'phpuser'@'localhost';
Vypíše:
GRANT USAGE ON *.* TO `phpuser`@`localhost` IDENTIFIED BY PASSWORD '*5D458DFA8BC504775CBA6EB315037782D87AA42B'
GRANT ALL PRIVILEGES ON `phpapp`.* TO `phpuser`@`localhost`
-
moc díky za naťuknutí!
zkoušel jsem uživatele vložit svým starým způsobem: zvolit DB Mysql > Tab user> Vložit...
teď prostě na základní stránce phpMyAdminu (nevolím konkrétní DB) kliknu na záložku Uživatelské účty > a NOVÝ>
pak už vložení uživatele funguje!
Ještě bych měl jeden dotaz:
uživatel phpuser nelze podle policies vložit bez hesla.
Já jsem ho dosud bez hesla měl, protože jsem nechtěl do svých PHP aplikací vkládat ono heslo, aby ho použily k připojení k DB.
Existuje nějaký jiný způsob, jak se v aplikaci připojovat k DB aniž bych musel mít heslo zapsané ve svém PHP skriptu?
Díky za radu.
Petr