這篇文章帶給大家的內容是介紹在Linux中如何安全地配置Mysql資料庫,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
目錄:
#1.修改mysql管理員帳號root的密碼(2種方法)
2.#修改mysql管理員帳號root
# 3.
mysql管理員root帳號密碼遺忘解決方法(2種方法)4.
建立資料庫使用者(3種方法)5.
mysql資料庫權限管理本機權限
網路權限
## 撤銷權限
刪除使用者
一、修改my》管理員帳號root的密碼#sql
一、修改mysql管理者帳號root的密碼#sql
#方法一:shell指令
#
mysqladmin -u root -p password "123"
##2.查看密碼存放的表
#方法二:mysql資料庫指令
##
mysql>use mysql; mysql>update user set password=password('123') where user='root' and host='localhost'; mysql> FLUSH PRIVILEGES; #刷新
#測試密碼修改是否成功
#二、修改mysql管理員帳號root
#
update mysql.user set user="admin" where user="root" and host="localhost"; flush privileges;
############ #######測試######### ################三、mysql管理員root帳號密碼遺忘########## #########方法一:######################
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服務用新的密碼登入######### ###############方法二:########## ######修改/etc/my.cnf############在[Mysqld]下新增:######
skip-grant-tables######重啟MySQL服務## ################
mysql -u root mysql>update user set password=password('123') where user='admin' and host='localhost'; mysql> FLUSH PRIVILEGES; MySQL> quit#######修改/etc/my.cnf 刪除skip-grant-tables #############重新啟動MySQL,使用新密碼登入######### #############測試############/etc/my.cnf 刪除skip- grant-tables ############重新啟動MySQL,使用新密碼登入######### ###############4、創建資料庫使用者###############方法一:######
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中文网相关教程栏目!!!
以上是Linux如何安全配置Mysql資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!