MySQL இல் புதிய பயனரை உருவாக்குவது மற்றும் அனுமதிகளை வழங்குவது எப்படி


MySQL என்பது பிரபலமான மற்றும் பரவலாகப் பயன்படுத்தப்படும் தரவுத்தள மேலாண்மை அமைப்பாகும், இது தரவைச் சேமித்து ஒழுங்குபடுத்துகிறது மற்றும் பயனர்களை மீட்டெடுக்க அனுமதிக்கிறது. அட்டவணைகள் மற்றும் தரவுத்தளங்களுக்கு பயனர்களுக்கு சில அனுமதிகளை வழங்கும் பரந்த அளவிலான விருப்பங்களுடன் இது வருகிறது.

இந்த வழிகாட்டியில், ஒரு புதிய பயனரை எவ்வாறு உருவாக்குவது மற்றும் MySQL தரவுத்தளத்தில் அனுமதிகளை வழங்குவது எப்படி என்பதை நீங்கள் கற்றுக் கொள்வீர்கள்.

MySQL இல் புதிய பயனரை உருவாக்குவது எப்படி

புதிய பயனரை உருவாக்க முதலில் MySQL ஷெல்லில் உள்நுழைக.

$ sudo mysql -u root -p

MySQL தரவுத்தளத்தை அமைக்கும் போது வழங்கப்பட்ட கடவுச்சொல்லைத் தொடர்ந்து சூடோ கடவுச்சொல்லை வழங்கவும் மற்றும் ENTER ஐ அழுத்தவும். அதன்பிறகு, இந்த வரியில் நீங்கள் பெறுவீர்கள்.

புதிய பயனரை உருவாக்க, கீழே காட்டப்பட்டுள்ள தொடரியல் பயன்படுத்தவும்:

MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

எடுத்துக்காட்டாக, தரவுத்தளத்திற்குள் ‘டெக்மிண்ட்’ என்ற புதிய பயனரை உருவாக்க, கட்டளையைச் செயல்படுத்தவும்:

MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';

உள்நாட்டில் ஒரு பயனரைச் சேர்க்கும்போது, அதாவது, நீங்கள் MySQL ஐ நிறுவிய கணினியில், பயனரின் ஹோஸ்ட் லோக்கல் ஹோஸ்டாக குறிப்பிடப்படுகிறது, ஐபி முகவரி அல்ல. ‘லோக்கல் ஹோஸ்ட்’ என்ற முக்கிய சொல் ‘இந்த கணினி’ என்று மொழிபெயர்க்கப்பட்டு, MySQL அதை தனித்துவமாகக் கருதுகிறது. அடிப்படையில், உள்ளூரில் நிறுவப்பட்ட MySQL தரவுத்தள சேவையகத்துடன் இணைப்பை நிறுவ mysql கிளையண்டால் லோக்கல் ஹோஸ்ட் பயன்படுத்தப்படுகிறது.

இதுவரை, டெக்மிண்ட் பயனருக்கு தரவுத்தளங்களுடன் தொடர்பு கொள்ள எந்த அனுமதியும் இல்லை. உண்மையில், பயனர் MySQL ஷெல் கூட அணுக முடியாது.

அட்டவணைகள் உட்பட அனைத்து தரவுத்தளங்களுக்கும் பயனருக்கு முழு அணுகலை வழங்க, இயக்கவும்.

MariaDB [none]> GRANT ALL PRIVILEGES ON * . * TO 'tecmint'@'localhost';

மேலே உள்ள கட்டளையில், நட்சத்திரங்கள் முறையே தரவுத்தளத்தையும் பயனரையும் அணுகக்கூடிய அட்டவணையையும் சுட்டிக்காட்டுகின்றன. இது தரவுத்தளத்தில் உள்ள அனைத்து உரிமைகளையும் பயனருக்கு வழங்குகிறது - மற்ற தரவுத்தளங்கள் மற்றும் அட்டவணைகள் முழுவதிலும் அனைத்து பணிகளையும் செய்வது உட்பட, படிக்க, எழுத, திருத்த மற்றும் செயல்படுத்தவும்.

இதுவரை, தரவுத்தளத்திற்கு பயனருக்கு முழு அணுகலை வழங்கியுள்ளோம். MySQL கருத்துக்களை விளக்குவதில் இது எளிது என்றாலும், இது உங்கள் தரவுத்தளங்களுக்கு பாதுகாப்பு ஆபத்தை ஏற்படுத்தக்கூடும் என்பதால் இது பொதுவாக பரிந்துரைக்கப்படவில்லை. பயனரின் கடவுச்சொல்லை ஹேக்கர் பிடித்தால் என்ன நடக்கும் என்று யோசித்துப் பாருங்கள். அடுத்த பகுதியில் குறிப்பிட்ட அனுமதிகளை எவ்வாறு வழங்குவது என்பது பற்றி மேலும் விவாதிப்போம்.

பயனருக்கு அனுமதிகளை வழங்குவதை நீங்கள் முடித்ததும், மாற்றங்கள் நடைமுறைக்கு வருவதற்கு காட்டப்பட்டுள்ளபடி அனைத்து சலுகைகளையும் மீண்டும் ஏற்றவும்.

MariaDB [none]> FLUSH PRIVILEGES

வெவ்வேறு பயனர் அனுமதிகளை எவ்வாறு வழங்குவது

பயனர்களுக்கு நீங்கள் வழங்கக்கூடிய அனுமதிகளின் முறிவு இங்கே:

  • எல்லா உரிமைகளும் - முன்பு பார்த்தபடி, இது ஒரு குறிப்பிட்ட தரவுத்தளத்திற்கு ஒரு MySQL பயனருக்கு முழு அணுகலை வழங்குகிறது.
  • உருவாக்கு - புதிய தரவுத்தளங்கள் அல்லது அட்டவணைகளை உருவாக்க பயனர்களை அனுமதிக்கிறது.
  • டிராப் - தரவுத்தளங்கள் அல்லது பயனர்களை நீக்க பயனர்களை இயக்குகிறது.
  • செருகு - அட்டவணையில் வரிசைகளைச் செருக பயனர்களை அனுமதிக்கிறது.
  • நீக்கு - அட்டவணைகளிலிருந்து வரிசைகளை நீக்க பயனர்களை அனுமதிக்கிறது.
  • தேர்ந்தெடு - ‘தேர்ந்தெடு’ அனுமதியுடன், பயனர்கள் அட்டவணையின் உள்ளடக்கங்களைப் படிக்க முடியும்.
  • புதுப்பிப்பு - அட்டவணையில் வரிசைகளை புதுப்பிக்க பயனர்களை அனுமதிக்கிறது.
  • கிராண்ட் விருப்பம் - பயனர்கள் பிற பயனர்களின் சலுகைகளை வழங்கலாம் அல்லது அகற்றலாம்.

ஒரு குறிப்பிட்ட பயனர் அனுமதி வழங்க, தொடரியல் பயன்படுத்தவும்:

MariaDB [none]> GRANT permission_type ON database_name.table_name TO 'username'@'localhost';

கூடுதலாக, தரவுத்தளத்தில் உள்ள அனைத்து அட்டவணைகளுக்கும் ஒற்றை நட்சத்திரக் குறியீட்டைக் கொண்டு அனுமதிகளை ஒதுக்கலாம்:

MariaDB [none]> GRANT permission_type ON database_name.* TO 'username'@'localhost';

எடுத்துக்காட்டாக, testdb தரவுத்தளத்தின் அனைத்து அட்டவணைகளிலும் ‘டெக்மிண்ட்’ பயனருக்கு SELECT அனுமதிகளை ஒதுக்க, கட்டளையை இயக்கவும்.

MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';

மாற்றங்கள் நடைமுறைக்கு வர சலுகைகளைப் பறிக்கவும்.

MariaDB [none]> FLUSH PRIVILEGES;

கூடுதலாக, காட்டப்பட்டுள்ளபடி கமாவுடன் பிரிப்பதன் மூலம் பயணத்தின்போது பல அனுமதிகளை நீங்கள் ஒதுக்கலாம்.

MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';

MySQL அனுமதிகளை எவ்வாறு திரும்பப் பெறுவது

பயனரிடமிருந்து அனுமதிகளை ரத்து செய்ய, தொடரியல் பயன்படுத்தவும்:

MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';

எடுத்துக்காட்டாக, ‘டெக்மிண்ட்’ பயனரிடமிருந்து INSERT அனுமதிகளை ரத்து செய்ய, கட்டளையை இயக்கவும்.

MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES

பயனரின் தற்போதைய அனுமதிகளைப் பார்க்க, இயக்கவும்:

MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';

கீழேயுள்ள வெளியீட்டில் இருந்து, டெஸ்ட் டிபி தரவுத்தளத்தில் SELECT மற்றும் UPDATE உரிமைகளை மட்டுமே விட்டுவிட்டு, ‘டெக்மிண்ட்’ பயனரிடமிருந்து INSERT அனுமதி நீக்கப்பட்டிருப்பதைக் காணலாம்.

புதிய பயனரைப் பயன்படுத்தி MySQL ஷெல்லில் உள்நுழைவதை சோதிக்க, முதலில் வெளியேறவும்.

MariaDB [none]> quit;

மீண்டும் மீண்டும் உள்நுழைக.

$ sudo mysql -u tecmint -p

பயனரின் கடவுச்சொல்லை வழங்கவும், ஷெல்லை அணுக ENTER ஐ அழுத்தவும்.

ஒரு பயனரைக் கைவிட, ஒரு தரவுத்தளத்தை நீக்கும்போது நீங்கள் விரும்பியதைப் போலவே, DROP கட்டளையைப் பயன்படுத்தவும்.

MariaDB [none]> DROP USER 'username'@'localhost';

பின்வரும் MySQL தொடர்பான கட்டுரைகளையும் நீங்கள் படிக்க விரும்பலாம்:

  • MySQL இல் பொதுவான பிழைகளை சரிசெய்ய பயனுள்ள உதவிக்குறிப்புகள்
  • மைட்டாப் - லினக்ஸில் MySQL/MariaDB செயல்திறனைக் கண்காணிப்பதற்கான ஒரு பயனுள்ள கருவி
  • லினக்ஸில் இயல்புநிலை MySQL/MariaDB போர்ட்டை மாற்றுவது எப்படி
  • லினக்ஸில் MySQL அல்லது MariaDB ரூட் கடவுச்சொல்லை மீட்டமைப்பது எப்படி

இப்போது, உங்கள் MySQL தரவுத்தள சேவையகங்களில் பயனர்களை உருவாக்கலாம் மற்றும் அனுமதிகளை வசதியாக ஒதுக்கலாம் அல்லது ரத்து செய்யலாம்.