首页 > 编程知识 正文

mysql数据库用户管理,数据库管理系统的用户

时间:2023-12-28 21:10:46 阅读:328598 作者:ZTKR

本文目录一览:

如何使用phpmyadmin管理mysql数据库

1、新建数据库:

进入phpmyadmin管理界面以后,找到如下文字“创建一个新的数据库”,然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,如“utf8_general_ci”,点击“创建”按钮,这样就新建了一个数据库。

2、新建此数据库的对应帐户

在phpmyadmin管理界面点击“权限”,打开链接,点击“添加新用户”,在打开的页面中会看到“登入信息”,输入用户名、主机(一般为本地:localhost)、密码后,因为我们现在是要给单个用户配置单个数据库的权限,所以我们在这里不选择“全局权限”,然后点击最下面的“执行”按钮,这样就新建了一个用户名。

3、为新建的用户添加此数据库权限

添加完用户以后,管理界面的上方会提示“您已添加了一个新用户”,我们现在就给新建的用户添加权限,在下面找到“按数据库指定权限”,然后点击“在下列数据库添加权限”后面的下拉列表,选择数据库,选择数据下面的全部,然后选择结构除了最下面三个以外的复选框,其他一律不选,然后点击“执行”按钮,这样就配置好了这个用户完全管理这个数据库的权限了。

注:

1、因为我们只是要给这个用户管理这个数据库的全部权限,但是没有其他数据库的管理权限,所以在配置权限的时候一定要注意。

2、INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。假如不想在phpMyAdmin中显示的话只需要设置在config.inc.php(有的是config.default.php)中设置这样一句:$cfg['Servers'][$i]['hide_db']

= ‘information_schema';

此外,如果在创新用户时,选择“用户数据库”中的“给以 用户名_ 开头的数据库 (username_%)

授予所有权限”选项,新建的用户就可以自己创建以“username_”开头的数据库。

MySQL 8.0.23 数据库用户管理、权限分配和远程连接

这个目前应该是MySQL比较新的版本了,教程仅在Linux平台上验证通过,其他平台请自证。提供步骤和思路方便快速分析和定位问题。

根据需求在完成理解前面步骤后,接下来需要配置允许远程连接(生产环境请通过ssh隧道方式,且mysql配置文件bind-address为特定ip或本机)

最后,感谢您的阅读,由于时间仓促,文章内容难免有不妥之处,欢迎交流和指正~~

Mark一下 惟月慎行 再也不会迷路了^_^!

为什么mysql需要用户管理

MySQL 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定不同权限。为了实际项目的需要,可以创建拥有不同权限的普通用户。

怎么在mysql中 配置canal数据库管理用户,配置相应权限

在mysql中 配置canal数据库管理用户,配置相应权限

# mysql -uroot -proot

CREATE USER canal IDENTIFIED BY 'canal';

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal' WITH GRANT OPTION;

FLUSH PRIVILEGES;

安装canal

本文使用的是:canal.deployer-1.0.22.tar.gz

# mkdir canal

# tar -zxvf canal.deployer-1.0.22.tar.gz -C canal

修改配置信息:

# vim conf/canal.properties

canal.id= 1

canal.ip=

canal.port= 11111

canal.zkServers=192.168.10.1:2181

# vim conf/example/instance.properties

## mysql serverId

canal.instance.mysql.slaveId = 1234

# position info, 需要改成自己的数据库信息

canal.instance.master.address = 127.0.0.1:3306

# username/password,需要改成自己的数据库信息

canal.instance.dbUsername = canal

canal.instance.dbPassword = canal

mysql怎样对用户做安全性管理

你可以这样操作。

如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。

使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql update mysql.user set password=password(‘newpwd’)”,最后执行“flush privileges”就可以了。

Mysql需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于acl即访问控制列表的安全措施来完成。也有一些对ssl连接的支持。

设置除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;

使用grant和revoke语句来进行用户访问控制的工作;

不要使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;

不要选用字典中的字来做密码;

采用防火墙可以去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在dmz区域中;

从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不允许从非信任网络中访问数据库服务器的3306号tcp端口,需要在防火墙或路由器上做设定;

为了防止被恶意传入非法参数,例如where id=234,别人却输入where id=234 or 1=1导致全部显示,所以在web的表单中使用”或”"来用字符串,在动态url中加入%22代表双引号、%23代表井号、%27代表单引号;传递未检查过的值给mysql数据库是非常危险的;

在传递数据给mysql时检查一下大小;

应用程序需要连接到数据库应该使用一般的用户帐号,开放少数必要的权限给该用户;

在各编程接口(c c++ php perl java jdbc等)中使用特定‘逃脱字符’函数;在因特网上使用mysql数据库时一定少用传输明文的数据,而用ssl和ssh的加密方式数据来传输;

学会使用tcpdump和strings工具来查看传输数据的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 strings。以普通用户来启动mysql数据库服务;

不使用到表的联结符号,选用的参数 –skip-symbolic-links;

确信在mysql目录中只有启动数据库服务的用户才可以对文件有读和写的权限;

不许将process或super权限付给非管理用户,该mysqladmin processlist可以列举出当前执行的查询文本;super权限可用于切断客户端连接、改变服务器运行参数状态、控制拷贝复制数据库的服务器;

file权限不付给管理员以外的用户,防止出现load data ‘/etc/passwd’到表中再用select 显示出来的问题;

如果不相信dns服务公司的服务,可以在主机名称允许表中只设置ip数字地址;

使用max_user_connections变量来使mysqld服务进程,对一个指定帐户限定连接数;

grant语句也支持资源控制选项;

启动mysqld服务进程的安全选项开关,–local-infile=0或1 若是0则客户端程序就无法使用local load data了,赋权的一个例子grant insert(user) on mysql.user to ‘user_name’@'host_name’;若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,可以用–skip-show-databases来关闭掉。

碰到error 1045(28000) access denied for user ‘root’@'localhost’ (using password:no)错误时,你需要重新设置密码,具体方法是:先用–skip-grant-tables参数启动mysqld,然后执行 mysql -u root mysql,mysqlupdate user set password=password(‘newpassword’) where user=’root’;mysqlflush privileges;,最后重新启动mysql就可以了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。