Linux에서 MySQL 데이터베이스를 안전하게 구성하는 방법

青灯夜游
풀어 주다: 2019-03-28 11:33:53
앞으로
3213명이 탐색했습니다.

이 글의 내용은 Linux에서 MySQL 데이터베이스를 안전하게 구성하는 방법을 소개하는 것입니다. 참고할 만한 가치가 있으니 도움이 필요한 분들에게 도움이 되길 바랍니다.

디렉토리:

1.mysql 관리자 계정 루트의 비밀번호 수정(2가지 방법)

2.mysql 관리자 계정 루트 수정

3. Mysql 관리자 루트 계정 비밀번호 분실 해결 방법(2가지 방법)

4.데이터베이스 사용자 생성(3가지 방법)

5.mysql 데이터베이스 권한 관리

 로컬 권한

  네트워크 권한

                                                                                  방법 1 사용: 쉘 명령

mysqladmin  -u  root  -p  password  "123"
로그인 후 복사

2. 비밀번호가 저장된 테이블을 봅니다

방법 2: mysql 데이터베이스 명령

mysql>use mysql;
mysql>update user set password=password('123') where user='root' and host='localhost';
mysql> FLUSH PRIVILEGES;        #刷新
로그인 후 복사
 

비밀번호 변경 성공 여부 테스트

 

2. mysql 관리자 계정 루트 수정

update mysql.user set user="admin" where user="root" and host="localhost";
flush privileges;
로그인 후 복사
 

Test

3. mysql 관리자 루트 계정 비밀번호를 잊어버리는 방법

하나:

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
로그인 후 복사

MySQL을 다시 시작하고, 새 비밀번호로 로그인

 

새 비밀번호를 설정하고 변경사항을 새로 고치세요

 

mysqld 서비스를 테스트하고 다시 시작하세요. 새 비밀번호로 로그인하세요

 

방법 2:

/etc 수정 /나. cnf

[Mysqld] 아래에 추가:

skip-grant-tables
로그인 후 복사

MySQL 서비스 다시 시작

+ nf delete Skip-grant-tables

MySQL을 다시 시작하고 새 비밀번호로 로그인

  

4. 데이터베이스 사용자 만들기

방법 1:

mysql -u root
mysql>update user set password=password('123') where user='admin' and host='localhost';
mysql> FLUSH PRIVILEGES;
MySQL> quit
로그인 후 복사
 

방법 2:

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中文网相关教程栏目!!!

위 내용은 Linux에서 MySQL 데이터베이스를 안전하게 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!