MySQL లో క్రొత్త వినియోగదారుని మరియు గ్రాంట్ అనుమతులను ఎలా సృష్టించాలి


MySQL అనేది జనాదరణ పొందిన మరియు విస్తృతంగా ఉపయోగించే డేటాబేస్ నిర్వహణ వ్యవస్థ, ఇది డేటాను నిల్వ చేస్తుంది మరియు నిర్వహిస్తుంది మరియు వినియోగదారులను తిరిగి పొందటానికి అనుమతిస్తుంది. ఇది పట్టికలు మరియు డేటాబేస్లకు వినియోగదారులకు కొన్ని అనుమతులను మంజూరు చేసే విస్తారమైన ఎంపికలతో వస్తుంది.

ఈ గైడ్uలో, మీరు క్రొత్త వినియోగదారుని ఎలా సృష్టించాలో నేర్చుకుంటారు మరియు MySQL డేటాబేస్లో అనుమతులను మంజూరు చేస్తారు.

MySQL లో క్రొత్త వినియోగదారుని ఎలా సృష్టించాలి

క్రొత్త వినియోగదారుని సృష్టించడానికి మొదట MySQL షెల్uకు లాగిన్ అవ్వండి.

$ 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 ని ఇన్uస్టాల్ చేసిన సిస్టమ్uలో, యూజర్ యొక్క హోస్ట్ లోకల్ హోస్ట్uగా పేర్కొనబడుతుంది మరియు IP చిరునామా కాదు. ‘లోకల్ హోస్ట్’ అనే కీవర్డ్ ‘ఈ కంప్యూటర్’కి అనువదిస్తుంది మరియు MySQL దీన్ని ప్రత్యేకంగా పరిగణిస్తుంది. ప్రాథమికంగా, స్థానికంగా ఇన్uస్టాల్ చేయబడిన MySQL డేటాబేస్ సర్వర్uకు కనెక్షన్uను స్థాపించడానికి mysql క్లయింట్ ద్వారా లోకల్ హోస్ట్ ఉపయోగించబడుతుంది.

ఇప్పటివరకు, టెక్మింట్ వినియోగదారుకు డేటాబేస్లతో సంభాషించడానికి ఎటువంటి అనుమతులు లేవు. వాస్తవానికి, వినియోగదారు MySQL షెల్uను కూడా యాక్సెస్ చేయలేరు.

పట్టికలతో సహా అన్ని డేటాబేస్లకు వినియోగదారుకు పూర్తి ప్రాప్తిని ఇవ్వడానికి, అమలు చేయండి.

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

పై ఆదేశంలో, ఆస్టరిస్క్uలు యూజర్ యాక్సెస్ చేయగల డేటాబేస్ మరియు టేబుల్uను వరుసగా సూచిస్తాయి. ఇది డేటాబేస్లో వినియోగదారునికి అన్ని హక్కులను ఇస్తుంది - ఇతర డేటాబేస్లు మరియు టేబుల్స్ అంతటా అన్ని పనులను చేయడంతో సహా చదవడం, వ్రాయడం, సవరించడం మరియు అమలు చేయడం.

ఇప్పటివరకు, మేము వినియోగదారుకు డేటాబేస్కు పూర్తి ప్రాప్తిని ఇచ్చాము. MySQL భావనలను వివరించడంలో ఇది సులభమే అయినప్పటికీ, ఇది సాధారణంగా మీ డేటాబేస్uలకు భద్రతాపరమైన ప్రమాదాన్ని కలిగిస్తుంది కాబట్టి ఇది సిఫార్సు చేయబడదు. వినియోగదారు పాస్uవర్డ్uను హ్యాకర్ పట్టుకుంటే ఏమి జరుగుతుందో ఆలోచించండి. మేము తదుపరి విభాగంలో నిర్దిష్ట అనుమతులను ఎలా కేటాయించాలో చర్చిస్తాము.

మీరు వినియోగదారుకు అనుమతులను కేటాయించిన తర్వాత, మార్పులు అమలులోకి రావడానికి చూపిన విధంగా అన్ని అధికారాలను మళ్లీ లోడ్ చేయండి.

MariaDB [none]> FLUSH PRIVILEGES

విభిన్న వినియోగదారు అనుమతులను ఎలా మంజూరు చేయాలి

మీరు వినియోగదారులకు మంజూరు చేయగల అనుమతుల విచ్ఛిన్నం ఇక్కడ ఉంది:

  • అన్ని హక్కులు - ఇంతకు మునుపు చూసినట్లుగా, ఇది ఒక నిర్దిష్ట డేటాబేస్కు MySQL వినియోగదారుకు పూర్తి ప్రాప్తిని ఇస్తుంది.
  • సృష్టించు - క్రొత్త డేటాబేస్ లేదా పట్టికలను సృష్టించడానికి వినియోగదారులను అనుమతిస్తుంది.
  • డ్రాప్ - డేటాబేస్ లేదా వినియోగదారులను తొలగించడానికి వినియోగదారులను అనుమతిస్తుంది.
  • ఇన్సర్ట్ - పట్టికలలో వరుసలను చొప్పించడానికి వినియోగదారులను అనుమతిస్తుంది.
  • తొలగించు - పట్టికల నుండి అడ్డు వరుసలను తొలగించడానికి వినియోగదారులను అనుమతిస్తుంది.
  • ఎంచుకోండి - ‘SELECT’ అనుమతితో, వినియోగదారులు పట్టికలోని విషయాలను చదవగలరు.
  • UPDATE - పట్టికలోని అడ్డు వరుసలను నవీకరించడానికి వినియోగదారులను అనుమతిస్తుంది.
  • మంజూరు ఎంపిక - వినియోగదారులు ఇతర వినియోగదారుల హక్కులను మంజూరు చేయవచ్చు లేదా తొలగించవచ్చు.

నిర్దిష్ట వినియోగదారు అనుమతి ఇవ్వడానికి, వాక్యనిర్మాణాన్ని ఉపయోగించండి:

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 షెల్uకు లాగిన్ అవ్వడాన్ని పరీక్షించడానికి, మొదట లాగ్ అవుట్ చేయండి.

MariaDB [none]> quit;

తర్వాత మళ్లీ లాగిన్ అవ్వండి.

$ sudo mysql -u tecmint -p

యూజర్ యొక్క పాస్వర్డ్ను అందించండి మరియు షెల్ను యాక్సెస్ చేయడానికి ENTER నొక్కండి.

వినియోగదారుని వదలడానికి, డేటాబేస్ను తొలగించేటప్పుడు మీరు చేసినట్లే DROP ఆదేశాన్ని ఉపయోగించండి.

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

మీరు ఈ క్రింది MySQL సంబంధిత కథనాలను కూడా చదవవచ్చు:

  • MySQL లో సాధారణ లోపాలను పరిష్కరించడానికి ఉపయోగకరమైన చిట్కాలు
  • మైటాప్ - Linux లో MySQL/MariaDB పనితీరును పర్యవేక్షించడానికి ఉపయోగకరమైన సాధనం
  • Linux లో డిఫాల్ట్ MySQL/MariaDB పోర్ట్uను ఎలా మార్చాలి
  • Linux లో MySQL లేదా MariaDB రూట్ పాస్uవర్డ్uను రీసెట్ చేయడం ఎలా

ఇప్పుడు, మీరు మీ MySQL డేటాబేస్ సర్వర్లలో వినియోగదారులను సృష్టించవచ్చు మరియు అనుమతులను సౌకర్యవంతంగా కేటాయించవచ్చు లేదా ఉపసంహరించుకోవచ్చు.