אנדרואיד

כיצד לנהל מסדי נתונים של mysql ומשתמשים משורת הפקודה

Progressive Web Apps Agency Review Demo - Best Progressive Web Apps Builder

Progressive Web Apps Agency Review Demo - Best Progressive Web Apps Builder

תוכן עניינים:

Anonim

MySQL היא מערכת הפיתוח הפופולרית ביותר בנושא ניהול בסיסי נתונים של קוד פתוח. שרת MySQL מאפשר לנו ליצור מספר רב של משתמשים ומסדי נתונים ולהעניק הרשאות מתאימות כך שמשתמשים יוכלו לגשת ולנהל מסדי נתונים.

מדריך זה מסביר כיצד להשתמש בשורת הפקודה כדי ליצור ולנהל מסדי נתונים ומשתמשי MySQL או MariaDB.

לפני שאתה מתחיל

לפני שתתחיל עם מדריך זה, אנו מניחים שכבר מותקנת שרת MySQL או MariaDB במערכת שלך. כל הפקודות יבוצעו כמשתמש שורש.

כדי לפתוח את הפקודה MySQL, הקלד את הפקודה הבאה והזן את סיסמת משתמש השורש MySQL כשתתבקש:

mysql -u root -p

צור בסיס נתונים חדש של MySQL

כדי ליצור בסיס נתונים חדש של MySQL, הפעל את הפקודה הבאה, פשוט החלף את שם ה- database בשם המסד הנתונים שברצונך ליצור:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

ERROR 1007 (HY000): Can't create database 'database_name'; database exists

כדי למנוע שגיאות אם בסיס הנתונים עם אותו שם כמו שאתה מנסה ליצור קיים, אתה יכול להשתמש בפקודה הבאה:

CREATE DATABASE IF NOT EXISTS database_name;

Query OK, 1 row affected, 1 warning (0.00 sec)

בפלט שלמעלה, Query OK פירושה שהשאילתה הייתה מוצלחת, 1 warning אומרת לנו כי בסיס הנתונים כבר קיים ולא נוצר בסיס נתונים חדש.

פרט את כל מסדי הנתונים של MySQL

אתה יכול לרשום את כל בסיסי הנתונים הקיימים בשרת MySQL או MariaDB שלנו עם הפקודה הבאה:

SHOW DATABASES;

הפלט ייראה כך:

+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)

מסדי הנתונים information_schema , mysql , performance_schema ו- sys נוצרים בזמן ההתקנה והם מאחסנים מידע על כל שאר מסדי הנתונים, תצורת המערכת, המשתמשים, הרשאות ונתונים חשובים אחרים. בסיסי נתונים אלה נחוצים לפונקציונליות התקינה של התקנת MySQL.

מחק בסיס נתונים של MySQL

מחיקת בסיס נתונים של MySQL היא פשוטה כמו הפעלת פקודה יחידה. זוהי פעולה שאינה הפיכה ויש לבצע אותה בזהירות. וודא שאינך מסיר מסד נתונים שגוי, שכן ברגע שאתה מוחק את מסד הנתונים לא ניתן לשחזר אותו.

למחיקת MySQL או MariaDB, מסד הנתונים הפעל את הפקודה הבאה:

DROP DATABASE database_name;

Query OK, 0 rows affected (0.00 sec)

ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist

כדי למנוע שגיאה זו תוכלו להשתמש בפקודה הבאה:

DROP DATABASE IF EXISTS database_name;

צור חשבון משתמש חדש ב- MySQL

חשבון משתמש ב- MySQL מורכב משם משתמש ומחלקי שם מארח.

כדי ליצור חשבון משתמש חדש של MySQL, הפעל את הפקודה הבאה, פשוט החלף את 'database_user' בשם המשתמש שברצונך ליצור:

CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';

בפקודה שלמעלה קבענו את החלק של שם המארח ל localhost שמשמעותו שמשתמש זה יוכל להתחבר לשרת MySQL רק מה localhost (כלומר מהמערכת בה פועל MySQL Server). אם ברצונך להעניק גישה ממארחים אחרים, פשוט שנה את localhost באמצעות ה- IP של המחשב המרוחק או השתמש בתווים כלליים '%' עבור החלק המארח, מה שאומר שחשבון המשתמש יוכל להתחבר מכל מארח.

כמו בעבודה עם מסדי הנתונים כדי למנוע שגיאה בעת ניסיון ליצור חשבון משתמש שכבר קיים, תוכלו להשתמש בו:

CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Query OK, 0 rows affected, 1 warning (0.00 sec)

שנה סיסמת חשבון משתמש MySQL

התחביר לשינוי סיסמת חשבון משתמש MySQL או MariaDB תלוי בגרסת השרת שאתה מפעיל במערכת שלך.

אתה יכול למצוא את גרסת השרת שלך על ידי הנפקה של הפקודה הבאה:

mysql --version

ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

בשני המקרים, הפלט צריך להיראות כך:

Query OK, 0 rows affected (0.00 sec)

פרט את כל חשבונות המשתמש של MySQL

באפשרותך לרשום את כל חשבונות המשתמש MySQL או MariaDB על ידי mysql.users טבלת mysql.users :

SELECT user, host FROM mysql.user;

הפלט צריך להיראות דומה למטה:

+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)

מחק את חשבון המשתמש MySQL

כדי למחוק חשבון משתמש, השתמש בפקודה הבאה:

DROP USER 'database_user@'localhost';

ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'

כמו בעבודה עם מסדי הנתונים כדי למנוע את השגיאה בה אתה יכול להשתמש:

DROP USER IF EXISTS 'database_user'@'localhost';

Query OK, 0 rows affected, 1 warning (0.00 sec)

הענק הרשאות לחשבון משתמש MySQL

ישנם סוגים רבים של הרשאות שניתן להעניק לחשבון משתמש. תוכל למצוא רשימה מלאה של הרשאות הנתמכות על ידי MySQL כאן. במדריך זה נעבור על מספר דוגמאות:

כדי לסמן את כל ההרשאות לחשבון משתמש במסד נתונים ספציפי, השתמש בפקודה הבאה:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

כדי לסמן את כל ההרשאות לחשבון משתמש בכל בסיסי הנתונים, השתמש בפקודה הבאה:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

כדי לסמן את כל ההרשאות לחשבון משתמש בטבלה ספציפית ממסד נתונים, השתמש בפקודה הבאה:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

בטל הרשאות מחשבון משתמש MySQL

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

הצגת הרשאות חשבון משתמש MySQL

כדי למצוא את ההרשאות שהעניקו לסוג חשבון משתמש מסוים של MySQL:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

סיכום

מדריך זה מכסה רק את היסודות, אך הוא אמור להיות התחלה טובה לכל מי שרוצה ללמוד כיצד לנהל מסדי נתונים של MySQL ומשתמשים משורת הפקודה. אתה יכול גם לבדוק את המדריך כיצד לאפס סיסמת שורש של MySQL למקרה ששכחת אותה.

זה הכל! אם יש לך שאלות או משוב, אל תהסס להשאיר תגובה.

mysql mariadb