Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL:mysql निर्देशिका का स्वामित्व linux सर्वर रिबूट पर 'service_account' से 'mysql' में बदल जाता है

मैं यह उत्तर इसलिए लिख रहा हूं क्योंकि मुझे लगता है कि हम दोनों ने उपयोगकर्ता खाता प्रबंधन<को गलत समझा है। /ए> मारियाडब के तंत्र। मुझे का भी सामना करना पड़ा है आप जैसी ही समस्या , इसलिए मैं यह उत्तर कुछ हद तक अपने लिए लिख रहा हूं। आप इस उत्तर का अनुसरण कर सकते हैं या danblack है, जो भी आपको वास्तव में चाहिए। जैसा कि डैनब्लैक ने कहा था, "mysql" को अपने service_account में बदलना एक अच्छा विचार नहीं हो सकता है।

'mysql' उपयोगकर्ता खाते के साथ mariadb डेटाबेस निर्देशिका प्रारंभ करें:

$ sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
...
Two all-privilege accounts were created.
One is [email protected], it has no password, but you need to
be system 'root' user to connect. Use, for example, sudo mysql
The second is [email protected], it has no password either, but
you need to be the system 'mysql' user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudo
...

जैसा कि आप देख सकते हैं, दो मारियाडब सर्व-विशेषाधिकार खाते, [email protected] और [email protected] , बनाये गये। और आपको ऑपरेटिंग सिस्टम root . होना चाहिए और mysql उपयोगकर्ता क्रमशः इन दो मारियाडब खातों का उपयोग करते हैं।

उसके बाद, मारियाडब सर्वर को सक्षम और प्रारंभ करें:

$ sudo systemctl enable --now mariadb.service

आप mysql_secure_installation . का उपयोग करना चाह सकते हैं प्रारंभिक सुरक्षा में सुधार करने का आदेश ।

फिर mariadb [email protected] सिस्टम के साथ खाता root सेवर से कनेक्ट करने के लिए खाता, और नया mariadb खाता बनाएं जिसमें रूट हो -समान विशेषाधिकार आप जो भी नाम चाहते हैं:

$ sudo mysql -u root -p  # first input your passwd to use 'sudo', then [ENTER] for empty mariadb root account passwd
[sudo] password for your_service_account:
Enter password:
...
MariaDB [(none)]> CREATE USER 'whatever_name_you_want'@'localhost' IDENTIFIED BY 'somepasswd';
Query OK, 0 rows affected (0.004 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* to 'whatever_name_you_want'@'localhost';
Query OK, 0 rows affected (0.004 sec)

MariaDB [(none)]> quit
Bye

नए विशेषाधिकार प्राप्त [email protected] सर्वर से कनेक्ट करने और एक नया डेटाबेस बनाने के लिए खाता:

$ mysql -u whatever_name_you_want -p
Enter password:
...
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS mydb;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> quit
Bye

और अगर आप [email protected] खाता, आप इस खाते का उपयोग sudo के बिना भी कर सकते हैं:

$ sudo mysql -u root -p
[sudo] password for your_service_account:
Enter password:
...
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somepasswd');
Query OK, 0 rows affected (0.041 sec)

MariaDB [(none)]> quit
Bye
$ mysql -u root -p
Enter password:
...
MariaDB [(none)]> quit
Bye



  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 क्वेरी में अन्य शर्तें हैं

  2. MySQL सर्वर और MySQL क्लाइंट में क्या अंतर है

  3. Django सेट स्टोरेज इंजन और डिफ़ॉल्ट चारसेट

  4. nodejs mysql त्रुटि:कनेक्शन खो गया सर्वर ने कनेक्शन बंद कर दिया

  5. फ़ाइल नहीं मिली mysql-connector-java-5.1.13-bin.jar