Maison > Article > Opération et maintenance > Comment configurer en toute sécurité la base de données Mysql sous Linux
Le contenu de cet article est de présenter comment configurer en toute sécurité la base de données Mysql sous Linux. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Répertoire :
1. Changer le mot de passe du compte administrateur mysql root (2. méthode)
2.Modifier la racine du compte administrateur mysql
3 .Solution pour oublier le mot de passe du compte root de l'administrateur MySQL (2 méthodes)
4.Créer un utilisateur de base de données (3 méthodes)
5 .Gestion des autorisations de la base de données MySQL
Autorisations locales
Autorisations réseau
Révoquer les autorisations
Supprimer l'utilisateur
1. Changez le mot de passe du compte administrateur MySQL root
Méthode 1 : commande shell
mysqladmin -u root -p password "123"
2. Afficher le tableau où le mot de passe est stocké
>
Testez si le changement de mot de passe a réussi
mysql>use mysql; mysql>update user set password=password('123') where user='root' and host='localhost'; mysql> FLUSH PRIVILEGES; #刷新
2. Modifiez la racine du compte administrateur MySQL
update mysql.user set user="admin" where user="root" and host="localhost"; flush privileges;Test
3. Le mot de passe du compte root de l'administrateur MySQL est oublié
Méthode 1 :
Redémarrez MySQL, utilisez un nouveau mot de passe pour vous connecter
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
Définissez un nouveau mot de passe et actualisez la modification
Testez, redémarrez le service mysqld et connectez-vous avec un nouveau mot de passe
Méthode 2 :
Modifier /etc/my .cnfAjouter sous [Mysqld] :
Redémarrer le service MySQL
skip-grant-tables
Modifier /etc/my.cnf Supprimer skip-grant-tables
Redémarrez MySQL et connectez-vous avec le nouveau mot de passe
mysql -u root mysql>update user set password=password('123') where user='admin' and host='localhost'; mysql> FLUSH PRIVILEGES; MySQL> quit
Test
Modifier /etc/my.cnf Supprimer skip-grant-tables
Redémarrez MySQL et connectez-vous avec un nouveau mot de passe
Créer un utilisateur de base de données
Méthode 1 :
Méthode 2 :
INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'yuzly', PASSWORD('yuzly'), 'Y', 'Y', 'Y');
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'yuzly';
方法三:通过新用户授权创建数据库用户
五、权限管理
本地权限
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';
flush privileges;
2.测试,从另一台Linux的Mysql客户端登录验证
3.下图可以看到,abc用户对userdb数据库具有任何权限,但对别的数据库没有任何权限,例如mysql.user
4.远程连接限制一个网段
5.测试
撤销权限
revoke all on userdb.* from 'zhangsan'@'localhost';
测试,撤消zhangsan账户的权限是否生效
删除账户
delete from mysql.user where user="aaa" and host="localhost";
相关视频教程推荐:《MySQL教程》
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!