So konfigurieren Sie die MySQL-Datenbank sicher unter Linux

青灯夜游
Freigeben: 2019-03-28 11:33:53
nach vorne
3213 Leute haben es durchsucht

Der Inhalt dieses Artikels ist eine Einführung in die sichere Konfiguration der MySQL-Datenbank. Ich hoffe, dass er für Freunde hilfreich ist.

Verzeichnis:

1. Ändern Sie das Passwort des MySQL-Administratorkontos root (2 Methode)

2.Ändern Sie das Stammverzeichnis des MySQL-Administratorkontos

3 .Lösung zum Vergessen des MySQL-Administrator-Root-Kontokennworts (2 Methoden)

4.Datenbankbenutzer erstellen (3 Methoden)

5 .MySQL-Datenbank-Berechtigungsverwaltung

Lokale Berechtigungen

Netzwerkberechtigungen

Berechtigungen widerrufen

Benutzer löschen

1. Ändern Sie das Passwort des MySQL-Administratorkontos root

Methode 1: Shell-Befehl

mysqladmin  -u  root  -p  password  "123"
Nach dem Login kopieren

 

2 . Sehen Sie sich die Tabelle an, in der das Passwort gespeichert ist

 

Methode 2: MySQL-Datenbankbefehl

mysql>use mysql;
mysql>update user set password=password('123') where user='root' and host='localhost';
mysql> FLUSH PRIVILEGES;        #刷新
Nach dem Login kopieren

 

Testen Sie, ob die Passwortänderung erfolgreich ist

 

2. Ändern Sie das Stammverzeichnis des MySQL-Administratorkontos

update mysql.user set user="admin" where user="root" and host="localhost";
flush privileges;
Nach dem Login kopieren

 

Test

 

3. Das Passwort des MySQL-Administrator-Root-Kontos wurde vergessen

Methode 1:

killall -TERM mysqld
mysqld_safe --skip-grant-tables &
mysql -u admin 
mysql>update user set password=password('123456') where user='admin' and host='localhost';
mysql> FLUSH PRIVILEGES;
MySQL> quit
Nach dem Login kopieren

MySQL neu starten und mit einem neuen anmelden Passwort

 

Legen Sie ein neues Passwort fest und aktualisieren Sie es

Testen Sie den mysqld-Dienst, starten Sie ihn neu und melden Sie sich mit einem neuen Passwort an

 

Methode 2:

Ändern /etc/my.cnf

Unter [Mysqld] hinzufügen:

skip-grant-tables
Nach dem Login kopieren

Neu starten der MySQL-Dienst

mysql -u root
mysql>update user set password=password('123') where user='admin' and host='localhost';
mysql> FLUSH PRIVILEGES;
MySQL> quit
Nach dem Login kopieren

Ändern /etc/my.cnf Löschen von Skip-Grant-Tabellen

MySQL neu starten, neues Passwort zum Anmelden verwenden

 

Test

Ändern /etc/ my.cnf Skip-Grant-Tabellen löschen

MySQL neu starten und mit einem neuen Passwort anmelden

 

4. Datenbankbenutzer erstellen

Methode eins:

INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'yuzly', PASSWORD('yuzly'), 'Y', 'Y', 'Y');
Nach dem Login kopieren

 

Methode zwei:

CREATE  USER  'user1'@'localhost'  IDENTIFIED  BY 'yuzly';
Nach dem Login kopieren

  

方法三:通过新用户授权创建数据库用户

  

五、权限管理

本地权限

1.创建一个zhang用户,只给select权限,然后查看权限

 

2.登录zhang用户,mysql -uzhang -pyuzly测试,创建一个表,下图显示被拒绝,当前账户没有create权限

  

3.登录管理员账户,给zhangsan账户添加create权限

  

4.重新登录zhangsan账户,测试是否具有create权限,下图说明具有create权限

  

5.插入一条数据,下图提示没有insert权限

 

6.登录管理员账户,给zhangsan账户添加insert权限

  

7.重新登录zhangsan账户,测试是否具有insert权限,下图说明具有insert权限

  

8.创建的新用户,默认没有任何权限,下图可以看到创建的用户默认是没有任何权限的

  

9.登录新创建的用户mysql -uabcd -pyuzly,测试,下图可以看到abcd没有select等权限,用show只能查看mysql系统自带的东西,别的用户创建的数据库等看不到

  

远程连接权限

1.创建一个账户,赋予远程登录权限

grant all on userdb.* to 'abc'@'10.10.10.200' identified by 'yuzly';
Nach dem Login kopieren
flush privileges;
Nach dem Login kopieren

 

2.测试,从另一台Linux的Mysql客户端登录验证

  

3.下图可以看到,abc用户对userdb数据库具有任何权限,但对别的数据库没有任何权限,例如mysql.user

  

4.远程连接限制一个网段

  

5.测试

  

撤销权限

revoke all on userdb.* from 'zhangsan'@'localhost';
Nach dem Login kopieren

  

测试,撤消zhangsan账户的权限是否生效

  

删除账户

delete from mysql.user where user="aaa" and host="localhost";
Nach dem Login kopieren

  

相关视频教程推荐:《MySQL教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die MySQL-Datenbank sicher unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!