Diskuze: maria db syntax error
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, to je docela divné. Můžeš sem prosím hodit celý výpis toho
procesu včetně té chyby? Dost by to pomohlo.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MariaDB server version for the right syntax to use near
'-u root localhost
ahoj Jindřichu, moc děkuju za pomoc!!!
Dobře, nejdřív jestli to opravdu chápu správně, tak se tedy připojuješ/přihlašuješ přes konzoli a to pomocí příkazu:
mysql -u root -p -h localhost
A potom se pokoušíš vytvořit novou databázi pomocí příkazu:
CREATE DATABASE publications;
A ono to napíše tuhle chybu?
Ahoj,
přesně tak. Bez přihlášení jako root funguje show databases, jakmile se
přihlásím ohlásí chybu. Díval jsem se přímo na web mariadb a tam nic
víc není ani v diskuzi o problémech. Připojuji kopii z cmd ovládání
mariadb.
C:\xampp\mysql\bin>mysql.exe
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.26-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> mysql -u root -p -h localhost
-> SHOW DATABASES;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near
'mysql -u root -p -h localhost
SHOW DATABASES' at line 1
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
Database |
+--------------------+
information_schema |
test |
+--------------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> CREATE DATABASE publications;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database
'publications'
MariaDB [(none)]>
Proto jsem chtěl hned na začátku celý tenhle podrobný výpis. Důvodem,
proč to nefunguje je, že tam ty příkazy zadáváš úplně špatně.
Jen tak pro ujasnění i vysvětlení, nejdříve co děláš:
C:\xampp\mysql\bin>mysql.exe
Tímhle se přihlásíš do té mariadb jako host a už jsi rovnou v SQL konzoli.
Následně zadáš:
mysql -u root -p -h localhost SHOW DATABASES;
Což je ale už v této konzoli bráno jako jeden SQL příkaz (nový řádek se ignoruje, rozhodující je středník). A tohle rozhodně není validní SQL příkaz a tím pádem logicky dostaneš syntax error.
A teď, co by jsi měl dělat. Nejdříve se přihlásit do mariadb jako root uživatel tímto příkazem:
C:\xampp\mysql\bin>mysql.exe -u root -p -h localhost
Tím se tedy dostaneš do SQL konzole, ale tentokrát už jako administrátor (root).
A následně v této konzoli zadat validní SQL příkaz pro vytvoření nové databáze:
CREATE DATABASE publications;
Takhle by to mělo bez problémů fungovat.
Ahoj,
omlouvám se za zpoždění, díky strašně moc, vše funguje,ještě jednou
děkuji moc!.
radim scholly
Zobrazeno 7 zpráv z 7.