Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Data toevoegen MariaDB Synology lukt alleen met root user

Pagina: 1
Acties:

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:44
Nieuwe NAS gekocht, MySQL database ook even weer instellen voor m'n hobbyprojectjes.

Maar ik krijg het niet aan de gang. Ik heb wat scripts die data in de MySQL database pleuren. Als ik in die scriptjes de MySQL root user invoer, en het bijbehorende wachtwoord dan werkt het prima. Voer ik echter de credentials in van een zelf aangemaakt user (met rechten op de tabel!!) dan werkt het niet....

Wie kan mij helpen, want dit is echt enorm frustrerend :(

Wat ik heb gedaan is MariaDB package (vervanger voor MySQL sinds DSM5 blijkbaar) geïnstalleerd op de NAS, evenals phpMyAdmin. Via PMA de databases en tabellen aangemaakt.

Ook met vi de /etc/mysql/my.cnf aangepast en het bind address (0.0.0.0) weg-gecomment. Via telnet krijg ik iig iets van MariaDB respons, dus dat zit goed.

Vervolgens user aangemaakt:
GRANT ALL privileges ON *.* TO 'arduino'@'192.168.4.%' IDENTIFIED BY 'arduino' WITH GRANT OPTION;
FLUSH privileges;

(arduino/arduino en m'n IP-range zit in 192.168.4.x)

Dat zou toch moeten werken? Ik heb aan de PHP code niks gewijzigd. Vorige NAS (met Synology DSM 4.3, nu een DS114 met nieuwste DSM5) werkte het gewoon mee.

code:
1
2
3
4
5
6
7
8
SHOW GRANTS FOR 'arduino';
+--------------------------------------------------------------------------------------------------------+
| Grants for arduino@%                                                                                   |
+--------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'arduino'@'%' IDENTIFIED BY PASSWORD '*ED0E6FB893B31F67237FB9BDF0355D3185D5CA6C' |
| GRANT ALL PRIVILEGES ON `p1`.* TO 'arduino'@'%'                                                        |
+--------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)


In PHP verbind ik met arduino/arduino op localhost. Daarmee werkte het eerder ook gewoon.

[ Voor 35% gewijzigd door ThinkPad op 29-08-2014 16:25 ]


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik vermoed dat je inmiddels meerdere matchende users hebt (arduino@% en arduino@192.168.4.% bijv.), dat kan in mysql wel eens problemen geven. Kun je wel inloggen, en heb je geen toegang tot de database/tabellen, of lukt dat ook niet?

Zie het voorbeeld onder user names in de documentatie: https://mariadb.com/kb/en...sql-commands/create-user/

(De oplossing is natuurlijk de overbodige matchende users verwijderen en voor de overgebleve user de permissies goedzetten.)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:44
Dat dacht ik ook, en heb toen de zelf aangemaakte users weggegooid via phpMyAdmin.

code:
1
2
3
4
5
6
7
8
9
10
11
select user, host from mysql.user;
+------------+-------------+
| user       | host        |
+------------+-------------+
| arduino    | %           |
| templogger | %           |
| templogger | 192.168.4.% |
|            | ds114       |
|            | localhost   |
| root       | localhost   |
+------------+-------------+

(Die templogger account klopt idd niet, maar ik focus me nu eerst op de account 'arduino').

Met arduino/arduino kan ik niet inloggen op phpMyAdmin, ik krijg dan:
#1045 Kan niet aanmelden op de MySQL-server

Net m'n eigen users even weggegooid en onderstaande commando's uitgevoerd:
CREATE USER arduino IDENTIFIED BY 'arduino';
GRANT ALL PRIVILEGES ON *.* TO 'arduino' WITH MAX_USER_CONNECTIONS 0;


Maar daarna kan ik nog steeds geen data inserten en ook niet inloggen op phpMyAdmin....

Schiet mij maar lek 8)7 Heb nu al een hekel aan dat MariaDB |:(

[ Voor 40% gewijzigd door ThinkPad op 29-08-2014 18:40 ]


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Connect je vanaf ds114 of localhost? Dan is die user specifieker dan degene die je net hebt aangemaakt, dus dan wordt die geselecteerd. Vervolgens klopt het wachtwoord niet -> error 1045.

[ Voor 16% gewijzigd door pedorus op 29-08-2014 19:32 ]

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:44
Euhmmm de PHP scripts staan op de NAS en worden ook door de NAS uitgevoerd... dus gewoon localhost denk ik.

Maar het gaat om de account 'arduino' he... niet de templogger account ;)

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik heb het over die 2 accounts zonder username die op alles matchen. Ik denk dus dat dit zou helpen, als die accounts nergens anders gebruikt worden:
drop user ''@'localhost';
drop user ''@'ds114';

alternatief kun je de user arduino ook aanmaken op ds114 en localhost. Als in:
CREATE USER 'arduino'@'localhost' IDENTIFIED BY 'arduino';
GRANT ALL PRIVILEGES ON *.* TO 'arduino'@'localhost' WITH MAX_USER_CONNECTIONS 0;

[ Voor 8% gewijzigd door pedorus op 29-08-2014 20:08 ]

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:44
Dat heeft het opgelost.

De eerste regel heb ik niet uitgevoerd, omdat hij dan waarschijnlijk m'n root user ook zou verwijderen. De tweede regel heb ik wel uitgevoerd. En daarna nog
DROP USER 'arduino';

Vervolgens de twee commando's uitgevoerd om de user te maken. Daarna kon ik inloggen in phpMyAdmin, en ook het toevoegen van data mbv de 'arduino' account werkt nu weer :)

Zie alleen niet echt wat ik nou anders deed dan jij. Zo op het oog heb ik namelijk dezelfde commando's gebruikt. Alleen de 'localhost' had ik niet, ik deed gewoon '%'.
Pagina: 1