Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:Własność katalogu mysql zmienia się na „mysql” z „service_account” po ponownym uruchomieniu serwera linux

Piszę tę odpowiedź, ponieważ myślę, że oboje źle zrozumieliśmy Zarządzanie kontem użytkownika mechanizmy mariadb. Spotkałem również ten sam problem co ty , więc piszę tę odpowiedź trochę dla siebie. Możesz śledzić tę odpowiedź lub danblack s, cokolwiek faktycznie potrzebujesz. Jak powiedział danblack, zmiana „mysql” na service_account może nie być dobrym pomysłem.

Zainicjuj katalog bazy danych mariadb przy użyciu konta użytkownika „mysql” :

$ 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
...

Jak widać, dwa konta mariadb z pełnymi uprawnieniami, [email protected] i [email protected] , zostały stworzone. Musisz być systemem operacyjnym root i mysql do korzystania z tych dwóch kont mariadb.

Następnie włącz i uruchom serwer mariadb :

$ sudo systemctl enable --now mariadb.service

Możesz użyć mysql_secure_installation polecenie poprawa początkowego bezpieczeństwa .

Następnie użyj mariadb [email protected] konto z systemem root konto do połączenia z serwerem i utwórz nowe konto mariadb z rootem podobne uprawnienia o dowolnej nazwie:

$ 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

Użyj nowego nieuprzywilejowanego [email protected] konto do połączenia z serwerem i utworzenia nowej bazy danych :

$ 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

A jeśli ustawisz hasło dla [email protected] konta, możesz nawet używać tego konta bez 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. Czy jest coś podobnego do serwera Wamp?

  2. Indeks słów PHP, wydajność i rozsądne wyniki

  3. Pozycjonowanie komórek FPDF

  4. PHP MYSQL:natychmiastowy wybór + wstaw

  5. php mysql porównaj długi i najdłuższy, wróć poniżej 10 mil