关于Mysql启用非root账号解决方案

适用版本:

4.8mysql独立版本之后

 

一、需求:

目前auditsys从4.8版本已独立安装,客户可以选择自有mysql,或者使用公司提供的一键mysql安装包。

目前公司提供mysql安装包默认为root账号。部分客户觉得mysql的root账号权限过大,应该使用限制权限账号。

 

二、解决方案

方案分两部分:客户自有mysql环境需要授权,我们提供的mysql包建非root账号

  1. 客户mysql

授权范围:

1)全局的数据库创建权限(该权限可以不授权,但是需要客户帮忙把auditsys数据库授权)

2)auditsys数据库的完全权限。

具体授权指令如下(我创建的是auditsys账号):

CREATE USER `auditsys`@`%` IDENTIFIED WITH mysql_native_password BY ‘Auditsys@sino_2020’;

GRANT Create ON *.* TO `auditsys `@`%`;

GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create View, Delete, Drop, Event, Execute, Grant Option, Index, Insert, Lock Tables, References, Select, Show View, Trigger, Update ON `auditsys`.* TO `auditsys`@`%`;

flush privileges;

以上指令也同样使用于我们自己安装部署的mysql环境

 

2)公司mysql一键安装包

重新下载mysql-5.7.37的mysql包,里面的mysql.sh增加了几行。

这四行是新增auditsys账号,并授权最小权限。

如果mysql之前已安装部署,可以把这三行单独按顺序执行,就可以创建mysql的auditsys账号

后续可以用auditsys ,密码Auditsys@sino_2020 进行auditsys的数据库初始化