Mysql
 sql >> база данни >  >> RDS >> Mysql

Създаване на потребител в MySQL

Веднага след като инсталирате MySQL, ще имате root наличен потребител.

Това е потребителят, който може да използвате, за да опитате да видите дали MySQL работи, но не трябва да е потребителят за други видове употреби.

Защо? Защото е твърде мощен .

С голяма сила идва голяма отговорност (каза чичото на Спайдърмен). И по-специално голяма опасност, ако правите грешки.

Вместо това трябва да създадете ad-hoc потребители, които имат само разрешения да изпълняват работата си и не повече. Същото за използване на Linux или която и да е Unix система, например:не искате да използвате root потребител, но вашият собствен потребителски акаунт.

За да създадете нов потребител, свържете се с MySQL с помощта на root потребител:

mysql -u root -p

след това използвайте командата

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

Например, за да създадете потребител с име test_user с парола test_password12A изпълнете командата:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

Командата трябва да върне ред, който казва Query OK, 0 rows affected (X.XX sec) :

Ако сте използвали невалидна парола, системата ще ви каже нещо като ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . В този случай грешката казва, че паролата не е достатъчно сложна, защото когато инсталирах MySQL, му казах да използва определена политика за паролите.

Това е страхотно! Сега потребителят е създаден и можем да се свържем с помощта на този потребител към MySQL. От командния ред можете да излезете, като напишете QUIT , и напишете:

mysql -u test_user -p

Сега, ако се опитам да създам база данни, ще получа грешка, която казва ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Защо? Тъй като потребителят няма разрешение да създаде нова база данни .

Ще видим как да работим с разрешения в друг урок.

Струва си да споменем @'localhost' низ, който използвахме, за да създадем потребителя. Това казва на MySQL, че потребителят може да се свърже само от localhost. Което е добре, когато тествате нещата и когато всяко приложение, което ще се свърже с MySQL, се изпълнява на същия компютър, който изпълнява СУБД.

Когато това не е вярно, трябва или да въведете ръчно IP адреса, от който потребителят ще се свърже, или да използвате % заместващ знак:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

Искам да затворя този урок, като покажа как да премахнем потребителя, който създадохме:

DROP USER 'test_user'@'localhost';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Импортирайте MySQL база данни в MS SQL Server

  2. MySQL Errno 150

  3. MySQL AUTO_INCREMENT не се връща назад

  4. Кодирайте първия си API с Node.js и Express:Свържете база данни

  5. Ruby on Rails 3 не може да се свърже с локален MySQL сървър чрез сокет '/tmp/mysql.sock' на OSX