Przyznaj * * wszystkie * * przywileje w bazie danych
Stworzyłem bazę danych, na przykład 'mydb'.
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
Teraz mogę zalogować się do bazy danych zewsząd, ale nie mogę tworzyć tabel.
Jak nadać wszystkie uprawnienia w tej bazie danych i (w przyszłości) tabelach. Nie mogę tworzyć tabel w bazie 'mydb'. Zawsze dostaję:
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
10 answers
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' WITH GRANT OPTION;
W ten sposób tworzę moje uprawnienia" Super User " (chociaż normalnie określałbym hosta).
WAŻNA UWAGA
Podczas gdy ta odpowiedź może rozwiązać problem dostępu, WITH GRANT OPTION
tworzy użytkownika MySQL, który może edytować uprawnienia innych użytkowników .
Opcja Grant privilege pozwala Ci nadawać innym użytkownikom lub usuwać z nich te przywileje, które sam posiadasz.
Ze względów bezpieczeństwa, nie należy używać tego rodzaj konta użytkownika dla każdego procesu, do którego dostęp będzie mieć społeczeństwo (np. strona internetowa). Zaleca się, aby utworzyć użytkownika z uprawnieniami bazy danych tylko do tego rodzaju wykorzystania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:27
To stare pytanie, ale nie sądzę, aby przyjęta odpowiedź była bezpieczna. Jest to dobre do tworzenia super użytkownika, ale nie dobre, jeśli chcesz przyznać uprawnienia na jednej bazie danych.
grant all privileges on mydb.* to myuser@'%' identified by 'mypasswd';
grant all privileges on mydb.* to myuser@localhost identified by 'mypasswd';
%
wydaje się, że nie obejmuje komunikacji socket, że localhost
jest dla. WITH GRANT OPTION
jest dobre tylko dla superużytkownika, w przeciwnym razie jest to zwykle zagrożenie bezpieczeństwa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-04 02:22:43
To będzie pomocne dla niektórych osób:
Z linii poleceń MySQL:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Niestety, w tym momencie newuser nie ma uprawnień do robienia czegokolwiek z bazami danych. W rzeczywistości, jeśli newuser nawet próbuje się zalogować (z hasłem, hasło), nie będzie w stanie dotrzeć do powłoki MySQL.
Dlatego pierwszą rzeczą do zrobienia jest zapewnienie użytkownikowi dostępu do potrzebnych informacji.
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
Gwiazdki w tym poleceniu odnoszą się do bazy danych i tabeli (odpowiednio) że mogą uzyskać dostęp-to specyficzne polecenie pozwala użytkownikowi czytać, edytować, wykonywać i wykonywać wszystkie zadania we wszystkich bazach danych i tabelach.
Po sfinalizowaniu uprawnień, które chcesz skonfigurować dla nowych użytkowników, zawsze pamiętaj, aby ponownie załadować wszystkie uprawnienia.
FLUSH PRIVILEGES;
Twoje zmiany wejdą w życie.
Więcej informacji: http://dev.mysql.com/doc/refman/5.6/en/grant.html
Jeśli nie czujesz się komfortowo z wiersza poleceń można wtedy użyć klienta typu MySQL workbench, Navicat lub SQLyog
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-08 06:58:40
1. Tworzenie bazy danych
CREATE DATABASE db_name;
2. Utwórz nazwę Użytkownika dla bazy danych db_name
GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'localhost' IDENTIFIED BY 'password';
3. Użyj bazy danych
USE db_name;
4. W końcu jesteś w bazie danych db_name, a następnie wykonaj polecenia takie jak tworzenie , zaznaczanie i wstawianie operacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-07 09:26:42
Ten SQL nadaje wszystkim bazom danych, ale tylko podstawowe uprawnienia. Są one wystarczające dla Drupal lub Wordpress i jako nicety, pozwala na jedno konto dewelopera dla lokalnych projektów.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
INDEX, ALTER, CREATE TEMPORARY TABLES
ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-08 14:18:08
GRANT ALL PRIVILEGES ON mydb.* TO myuser@localhost IDENTIFIED BY 'mypasswd';
Działa dla przywilejów na schemacie:)
Opcjonalnie: po mypasswd
możesz dodać WITH GRANT OPTION
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-07 09:32:26
Witam użyłem tego kodu aby mieć super usera w mysql
GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE,
CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP,
EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE,
LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN,
SUPER
ON *.* TO mysql@'%'
WITH GRANT OPTION;
A następnie
FLUSH PRIVILEGES;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-03 20:40:21
Mogłem to zrobić tylko przez dodanie GRANT OPTION
, bez tego zawsze otrzymuj błąd Odmowa uprawnień
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost' WITH GRANT OPTION;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-06 21:20:51
Dostęp ze zdalnego serwera tylko do bazy mydb
GRANT ALL PRIVILEGES ON mydb.* TO 'root'@'192.168.2.21';
Aby uzyskać dostęp ze zdalnego serwera do wszystkich baz danych.
GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.2.21';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-25 11:32:54
Aby przyznać wszystkie priveleges w bazie danych: mydb
użytkownikowi: myuser
, wystarczy wykonać:
GRANT ALL ON mydb.* TO 'myuser'@'localhost';
Lub:
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
Słowo kluczowe PRIVILEGES
nie jest konieczne.
Również Nie wiem, dlaczego inne odpowiedzi sugerują, że IDENTIFIED BY 'password'
należy umieścić na końcu polecenia. Uważam, że nie jest to wymagane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-29 14:16:08