mysql代理mysql-proxy

mysql代理mysql-proxy,第1张

Mysql-Proxy是一个处于你的client端和Mysql Server端之间的一个简单程序,它可以监测、分析和改变他们的通信。它使用灵活没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。可以抽象成nginx与php-fpm的关系 本文介绍centos7.4上使用mysql-proxy

mysql-proxy 也支持读写分离/负载均衡等 可以详情可参考官方文档

某天有人问了我一个有关 MySQL PROXY 用户该如何使用的问题。

原问题是这样的:MySQL 版本从 5.5 升级到 8.0 后,proxy 用户怎么无法使用了?我之前是按照你博客上写的方法使用的,但是在升级后,安装插件提示如下错误:

这个咋回事?

我给了一个大家都很讨厌的答案: 去看 MySQL8.0 官方手册吧。

auth_test_plugin.so 是 MySQL 5.5 的插件,仅限于测试环境,不推荐线上使用,仅限功能演示。之后的一系列大版本安装包里都不包含这个插件,所以使用方法有些差异。

我在下面示例中使用插件 mysql_native_password ,这个插件自带 proxy 用户功能,所以需要在配置文件里开启对应的开关,并重启 MySQL 实例:(如果使用 sha256_password , 应该把参数 sha256_password_proxy_users=ON 也加到配置文件里。)

使用 proxy 用户功能之前,需要安装 mysql_no_login 插件,阻止隐藏在 proxy 用户下的真实用户登录 MySQL 。

创建一个 proxy 用户 ytt_fake ,使用认证插件 mysql_native_password :

使用 Proxy 用户登录 MySQL :

确认下变量 proxy_user 的值是不是 ytt_fake :

使用 proxy 用户登录后,查看当前登录用户信息:用户实际上是 ytt_real 。

确认下权限:具有真实用户的所有权限。

用 proxy 用户创建表、插入记录、查询、销毁表:

由于真实用户 ytt_real 使用认证插件 mysql_no_login ,MySQL 不允许此用户登录:

步骤/方法1打开下载的安装文件,出现如下界面:2mysql安装向导启动,点击“next”继续。3选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有的选项,也方便熟悉安装过程。4在“MySQLServer(MySQL服务器)”上左键单击,选择“Thisfeature,andallsubfeatures,willbeinstalledonlocalharddrive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change”,手动指定安装目录。5确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。6正在安装中,请稍候,直到出现下面的界面。7点击“next”继续,出现如下界面。8现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将“ConfiguretheMysqlServernow”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。9点击“Finsh”,出现如下界面,MySQLServer配置向导启动。10点击“next”出现如下界面:选择配置方式,“DetailedConfiguration(手动精确配置)”、“StandardConfiguration(标准配置)”,我们选择“DetailedConfiguration”,方便熟悉配置过程。选择服务器类型,“DeveloperMachine(开发测试类,mysql占用很少资源)”、“ServerMachine(服务器类型,mysql占用较多资源)”、“DedicatedMySQLServerMachine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“ServerMachine”,不会太少,也不会占满。选择mysql数据库的大致用途,“MultifunctionalDatabase(通用多功能型,好)”、“TransactionalDatabaseOnly(服务器类型,专注于事务处理,一般)”、“Non-TransactionalDatabaseOnly(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“TransactionalDatabaseOnly”,按“Next”继续。对InnoDBTablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用默认位置,直接按“Next”继续。选择您的网站的一般mysql访问量,同时连接的数目,“DecisionSupport(DSS)/OLAP(20个左右)”、“OnlineTransactionProcessing(OLTP)(500个左右)”、“ManualSetting(手动设置,自己输一个数)”,我这里选“OnlineTransactionProcessing(OLTP)”,自己的服务器,应该够用了,按“Next”继续。是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,PortNumber:3306,在这个页面上,您还可以选择“启用标准模式”EnableStrictMode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。还有一个关于防火墙的设置“Addfirewallexception……”需要选中,将MYSQL服务的监听端口加为windows防火墙例外,避免防火墙阻断。按“Next”继续。注意:如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码。这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在CharacterSet那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据 *** 作命令之前运行一次“SETNAMESGBK”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定ServiceName(服务标识名称),是否将mysql的bin目录加入到WindowsPATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe-uusername-ppassword”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,ServiceName不变。按“Next”继续。这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“Newrootpassword”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“ModifySecuritySettings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enablerootaccessfromremotemachines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“CreateAnAnonymousAccount(新建一个匿名用户,匿名用户可以连接数据库,不能 *** 作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。设置完毕,按“Finish”结束mysql的安装与配置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7304014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存