PBOOTCMS作为国内醉优袖的企业建站的CMS,越来越多的人开始使用。
那么深圳黑马视觉品牌网站建设在制作网站的时候,遇到这样一个项目需求,那就是在共享数据库,多个网站都使用这个数据库如何处理?
PBOOTCMS的数据库分SQLIT和MYSQL,使用SQLIT的话,作共享我还没有测试过。我使用的是MYSQL,原理比较简单。
我们都知道,在同一台服务器上,我们是可以建立多个网站,然后在数据库连接的时候选择同一个数据库就可以了。PBOOTCMS也可以。但是我们今天不讨论在同一台服务器上来共享数据。而是来说一下,如果我要建三个网站,然后共享其中一个数据库,另外两个服务器上的网站直接调用共享的数据库应该如何处理。
欢迎随便转载,不需要注明来源和出处,我们的目的是让知识和内容得到分享和传播。
1:我们先用PBOOTCMS的MYSQL版本在A服务器上建立一个网站。
2:对A服务器上的MYSQL数据库使用如下命令:
grant all privileges on *.* to 'root'@'%' identified by '数据库密码' with grant option;flush privileges;
3:在另外两台服务器,B和C服务器上建立文件和数据库连接。
<?php return array( 'database' => array( 'type' => 'mysqli', 'host' => 'A服务器的IP地址', 'user' => 'A服务器的数据库连接用户名', 'passwd' => 'A服务器的数据库密码', 'port' => '3306', 'dbname' => 'A服务器上你这个网站的数据库名字' ) );
如此,即可实现你想要的效果。
以上就是网站共享数据库显示出来的效果,然后可以根据自己的需求,对不同的网站使用不同的模板和调用。
以上命令在某一些服务器上不可使用,是因为限制了给ROOT权限。所以我们可以改用创建新的用户来授权。
代码如下:
CREATE USER '创建新的用户名'@'%' IDENTIFIED BY '你想要的密码'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
但是我在实际应用中发现一个问题,比如说我有一台境外的服务器,打开速度很慢。无法登陆数据库,怎么办呢?
我们可以在宝塔面板中,数据库中的高级调协中的MYSQL用户管理里面添加一个新的用户。然后给这个用户指定所有人可以访问,然后指定对应的数据库权限,最后将数据从面板同步到数据库服务器中,这样我们也可以得到自己想要的结果。
如果本地我们使用navicat来远程管理数据库,这是一个很好的方法 。