手机版

配置phpmyadmin连接多实例MySQL - MySQL中文参考手册

2019-09-11 阅读 :

配置phpmyadmin连接多实例MySQL

步骤总结

  1. 下载phpmyadmin

  2. 配置phpmysql的配置文件

  3. 所有库有账号通过远程连接MySQL(mysql的grant授权)

  4. 登录测试(如果有做数据库的主从要检查用户授权,防止数据的不一致)

环境说明

Linux版本于内核号 	CentOS release 6.5 (Final) 2.6.32-431.el6.x86_64PHP版本             5.3.28Phpmyadmin版本		phpMyAdmin-4.4.15-all-languagesMySQL多实例 		192.168.0.200:3307和192.168.0.200:3308(其中3307为master 3308为slave)

具体操作

方法一

通过修改 phpmyadmin/libraries/config.default.php 大概在805行的$cfg['AllowArbitraryServer'] = true;  # allow login to any user entered server in cookie based authentication,效果如下图:

进行登录,当然这种方式依然得方法一中第四步的授权,这里就不在赘述。(此方法测试未成功,继续关注)

总结

缺点:登陆操作比较繁琐,而且切换服务器时须首先退出当前所登陆的服务器

方法二

1. 下载phpmyadmin

https://www.phpmyadmin.net/downloads/下载phpMyAdmin-4.4.15-all-languages,解压到网站根目录下重命名为phpmyadmin

2. 编辑配置文件

cp config.sample.inc.php config.inc.php 复制根目录下的config.sample.inc.php为config.inc.php,使用 sed -i '22,34s#^#//#g' config.inc.php使用sed命令注释掉之前相关行并编辑这个文件,添加一个$hosts数组和一个for循环

// /*//  * First server//  */// $i++;// /* Authentication type */// $cfg['Servers'][$i]['auth_type'] = 'cookie';// /* Server parameters */// $cfg['Servers'][$i]['host'] = 'localhost';// $cfg['Servers'][$i]['connect_type'] = 'tcp';// $cfg['Servers'][$i]['compress'] = false;// /* Select mysql if your server does not have mysqli */// $cfg['Servers'][$i]['extension'] = 'mysqli';// $cfg['Servers'][$i]['AllowNoPassword'] = false;$hosts = array('1'=>array('host'=>'192.168.0.200','user'=>'phpmyadmin','password'=>'phpmyadmin','port'=>3307),'2'=>array('host'=>'192.168.0.200','user'=>'phpmyadmin','password'=>'phpmyadmin','port'=>3308));for($i=1,$j=count($hosts);$i<=$j;$i++){	/* Authentication type */	$cfg['Servers'][$i]['auth_type'] = 'cookie';	/* Server parameters */	$cfg['Servers'][$i]['host'] = $hosts[$i]['host'];   //修改host	$cfg['Servers'][$i]['port'] = $hosts[$i]['port']; 	$cfg['Servers'][$i]['connect_type'] = 'tcp';	$cfg['Servers'][$i]['compress'] = false;	/* Select mysqli if your server has it */	$cfg['Servers'][$i]['extension'] = 'mysqli';	$cfg['Servers'][$i]['AllowNoPassword'] = true;	$cfg['Servers'][$i]['user'] = $hosts[$i]['user'];  //修改用户名	$cfg['Servers'][$i]['password'] = $hosts[$i]['password']; //密码	/* rajk - for blobstreaming */	$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;	$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';	$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;	$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';}

更改完成后刷新登录页面,发现是不是多了些什么?我们可以选择不同的服务器(或者不同的端口)进行登录了。

3. 登录到服务器授权不同的登录账号

由于这边192.168.0.200:3307为master,我们在3307端口上进行授权:
grant all privileges on *.* to 'phpmyadmin'@'192.168.0.%' identified by 'phpmyadmin' WITH GRANT OPTION;
如果3307和3308已经实现了主从同步,那么我们可以通过用户名为phpmyadmin和密码为 phpmyadmin登录了,但是这样授权是十分不安全的。建议在生产环境中不要这么粗暴的使用,另外我们需要对slave实例进行回收权限,登录192.168.0.3308,操作如下:
REVOKE INSERT,ALTER,CREATE,DELETE,DROP,UPDATE ON *.* FROM 'phpmyadmin'@'192.168.0.%'

另可以通过show privileges;查看更多授权权限以及相关作用。

效果如下

相关的增删改操作提示无权限,防止用户误操作引起的主从同步数据的不一致。(这里也可以配置mysql库的主从不同步,然后分别在3307和3308端口上授予用户不同的权限即可)。

总结

优点:登陆操作简便,登陆后切换服务器无须退出当前连接。

特别说明

方法一、方法二不可混用,如果按照方法一进行了操作,那么方法二将无法生效


服务器软件 网络工具 网站工具 服务器教程 服务器知识 服务器技术 服务器之家 vps教程 vps是什么

本文标题:配置phpmyadmin连接多实例MySQL - MySQL中文参考手册 - 服务器教程_服务器技术_服务器知识_vps教程
本文地址:https://www.helloaliyun.com/tutorial/515.html

相关文章

  • CentOS 7 常用命令(系统关机、重启以及登出)

    关机:(系统的关机、重启以及登出 ) # 关闭系统(1)[root@localhost ~]# shutdown -h now # 关闭系统(2)[root@localhost ~]# init 0 # 关闭系统(3)[root@localhost ~]# telinit 0 # 按预定时间关闭系统[root@localhost...

    2019-12-07 服务器教程
  • linux重启命令 reboot与shutdown -r now的区别与联系

    在linux命令中reboot是重新启动,shutdown -r now是立即停止然后重新启动,都说他们两个是一样的,其实是有一定的区别的。shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告...

    2019-12-07 服务器教程
  • CentOS 7 如何使用命令重启或关机

    安装GNOME的朋友们首先切换到字符界面。切换到字符界面的方法如下: 先登陆进入系统,进入图形化界面,然后按Ctrl+Alt+F6(笔记本的是Ctrl+Alt+shift+Fn),进入字符界面。关机命令:shutdown或poweroffshutdown:shutdown -h now...

    2019-12-07 服务器教程
  • CentOS 7 正确关机重启的命令方法

    linux主要用于服务器领域,而在服务器上执行一项服务是永无止境的,除非遇到特殊情况,否则不会关机。和Windows不同,在linux系统下,很多进程是在后台执行的。在屏幕背后,可能有很多人同时在工作。如果直接按下电源的按钮,其他...

    2019-12-07 服务器教程
  • CentOS下的yum upgrade和yum update区别,没事别乱用!

    说明:生产环境对软件版本和内核版本要求非常精确,别没事有事随便的进行yum update操作!!!!!!!!!yum update: 升级所有包同时也升级软件和系统内核yum upgrade:只升级所有包,不升级软件和系统内核...

    2019-12-07 服务器教程
你可能感兴趣