mysql权限操作_四、MySQL权限操作

用户管理

定义用户

#格式

用户名@'白名单'

#示例

wordpress@'10.0.0.%' #允许来自10.0.0.0网段的wordpress数据库用户登录

wordpress@'%' #允许来自所有网段

wordpress@'10.0.0.200' #仅允许10.0.0.200地址登录

wordpress@'localhost' #仅允许本地登录

wordpress@'db02' #仅允许主机名db02登录

wordpress@'10.0.0.5%' #仅允许10.0.0.50-59登录

wordpress@'10.0.0.0/255.255.254.0'

案例

增删改查

#增加一个用户

mysql> create user tz@'10.154.0.%' identified by '123';

#查询一个用户

mysql> desc mysql.user; #得到authentication_string字段,此字段记录密码。

mysql> select user ,host ,authentication_string from mysql.user

#更改用户密码

mysql> alter user tz@'10.154.0.%' identified by '456';

#删除一个用户

mysql> drop user tz@'10.154.0.%';

权限操作

授权用户需要注意

是否有邮件批复

对哪个数据库以及表进行操作

执行什么操作

从哪个IP登录

密码强度要求

如果开发人员索要root密码,提示他需要走流程。

常用权限

ALL:

SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE,

REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES,

LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW,

SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER,

CREATE TABLESPACE

ALL : 以上所有权限,是普通管理员拥有的

with grant option:超级管理员才具备的,拥有给别的用户授权的功能

权限范围

*.* #管理员用户,能操作所有数据库跟表

wordpress.* #开发和应用用户,只能操作wordpress数据库下的所有表

wordpress.t1 #开发和应用用户,只能操作wordpress数据库下的t1表

授权命令

#创建管理员用户

mysql> grant all on *.* to root@'10.154.0.%' identified by '123';

#创建应用用户,用户名为app,只能对app数据库进行增删改查

mysql> grant select ,update,insert,delete on app.* to app@'10.154.0.%' identified by '123';

#查看权限

mysql> show grants for app@'10.154.0.%';

#回收删除授权

mysql> revoke delete on app.* from app@'10.154.0.%';

#添加with grant option能让tz666用户将自己拥有的权限授权给别人

mysql> grant all privileges on testdb.* to tz666@'localhost' identified by '123' with grant option;

8.0以后版本的差别

#8.0以后的版本先创建用户,再给用户授权

mysql> create user tz@'10.154.0.%' identified by '123';

mysql> grant all privileges on *.* to 'tz'@'10.154.0.%' identified by '123';

#8.0以前的版本可以边创建用户边授权

mysql> grant all on mysql.* to tz@'%' identified by '123';

mysql常用参数

-u 用户

-p 密码

-h IP

-P 端口

-S socket文件

-e 免交互执行命令

< 导入SQL脚本

mysql> select @@socket;

+-----------------+

| @@socket |

+-----------------+

| /tmp/mysql.sock |

$ mysql -uroot -p -S /tmp/mysql.sock

$ mysql -uroot -p -e "select user,host from mysql.user;"

Enter password:

+---------------+-----------+

| user | host |

+---------------+-----------+

| abc | 10.0.0.% |

| app | 10.0.0.% |

| root | 10.0.0.% |

| mysql.session | localhost |

| mysql.sys | localhost |

| root | localhost |

+---------------+-----------+

$ mysql -uroot -p

三种启动方式

ddcd6e0425f0593f239cbd8fa7bd9355.png

mysqld启动:/usr/local/mysql/bin/mysqld 即可启动mysql。

mysqld_safe 启动(推介):这是启动脚本,在mysqld上再封装了一个监控程序,当mysqld挂了的时候,可以帮忙重启,并把运行信息记录到error log中。

#启动

mysql> mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &

#关闭

mysql> mysqladmin -uroot -p shutdown

mysql.server:这也是启动脚本,调用mysqld_safe启动,启动mysql.server start

配置文件

查看/etc/my.cnf配置文件

$ cat /etc/my.cnf

[mysqld]

user=mysql

basedir=/usr/local/mysql-5.7.26

datadir=/usr/local/mysql-5.7.26/data

socket=/tmp/mysql.sock

#服务器id号,用于主从复制,需要设置大于0的数字

server_id=6

port=3306

[mysql]

socket=/tmp/mysql.sock

配置文件读取顺序

$ mysqld --help --verbose |grep my.cnf

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

注:

默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准。

但是,如果启动时加入了--defaults-file=/etc/my.cnf时,就只会读取my.cnf配置文件.

修改密码

1、使用mysqladmin

$ mysqladmin -uroot -p password 123 #修改后的密码

Enter password: #输入原密码

2、使用alter命令

mysql> alter user tz@'10.154.0.%' identified by '456';

忘记密码

1、关闭mysql服务

$ ps -ef | grep -i mysql

$ systemctl stop mysqld

2、编辑修改配置文件

#在[mysqld]标签下添加skip-grant-tables

$ vim /etc/my.conf

[mysqld]

...省略

skip-grant-tables

3、修改密码

在mysql5.7版本中存放密码字段为authentication_string

$ systemctl start mysqld

$ mysql -uroot

mysql> use mysql;

mysql> update mysql.user set authentication_string=password('修改后的密码') where user='root';

#刷新授权表

mysql> flush privileges;

4、删除步骤2配置文件中的skip-grant-tables

5、重启数据库

$ systemctl restart mysqld

学习来自:郭老师博客,老男孩深标DBA课程 第二章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值