重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用一个交换机(hub)连接起来就行了,就是一个简单的对等网,然后你设置个共享资源,别人就可以访问了,要设置权限是比较复杂的
站在用户的角度思考问题,与客户深入沟通,找到龙马潭网站设计与龙马潭网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖龙马潭地区。
方案如下:
如果A与B之间有网络互通,哪怕就是每天或每周的限时互通,那么就可以用MySQL同步机制(MySQL Replication )实现,方便快捷,有数据库来保证数据的一致性。 把B配置成A的slave机器,联机一次就同步一次,自动同步,或手动start slave。
在以前不论是使用SQLyog MySQL GUI或是phpMyAdmin访问数据库,第一步一定是输入访问数据库的账号与密码,当然Dreamweaver也不例外。在Dreamweaver中,我们通过建立 【MySQL联机】告诉Dreamweaver连接的MySQL数据库地址、名称,以及访问的账号和密码。
在一个网站中,我们只需对一个数据库建立一次MySQL连接。通常网络上的主机空间也只支持访问一个数据库。例如虚拟主机,最基本的方案是搭配1个MySQL数据库。
在【文件】面板中打开index.php,接着选择【应用程序】→【数据库】面板,单击【+】按钮后选择【MySQL连接】。
建立MYSQL连接
在建立数据库连接前,我们必须设置好图6-5中的前面3个选项,如果依照书中叙述设置好,那么基本上便不会有问题。当然必须至少打开一个网页,否则会有无法选择的情况发生。
未打开页面,选项均无法选择
弹出如图6-7所示的窗口,请依照其下面的说明进行设置。可以单击【测试】按钮测试是否有问题,单击【确定】按钮后就可以在【应用程序】→【数据库】面板中看到所建立的数据库连接。我们可以操作这个树状结构(见图6-8)检查连接的数据库、数据表与字段名称及属性等。也可以打开phpMyAdmin来检查数据库结构,并与面板内的信息对比。字段与功能说明。
建立连接
数据库内的数据表、字段和属性
字段与功能说明
字 段
说 明
连接名称
依个人喜好自由输入
MySQL服务器
MySQL服务器的位置,一般设置为localhost,除非所要存取的MySQL数据库不在网页所在的主机上,而且该MySQL数据库也提供对外的连接
用户名
访问MySQL数据库的用户名称
密码
访问MySQL数据库的用户密码
数据库
选择所要建立连接的数据库名称,可以单击【选取】按钮浏览MySQL服务器上的所有数据库。我们选择刚导入的范例数据库database
在建立完成MySQL连接后,在【文件】面板中会看到Dreamwaver自动建立了Connections文件夹,在该文件夹下有一个与前面所建立的MySQL连接名称相同的文件。
Connections文件夹
Connections文件夹是Dreamweaver用来存放MySQL连接设置文件的文件夹。
打开该文件并使用【代码】视图,可以看到有关连接数据库的设置。
数据库连接设置
在这个文件中定义了与MySQL服务器的连接(mysql_pconnect函数),包括以下内容。
$hostname:MySQL服务器的地址。
$database:连接数据库的名称。
$username:用户名称。
$password:用户密码。
定义的值与我们前面在图形界面所设置的值是对应的,然后利用函数mysql_pconnect与数据库连接。连接后才能对数据库进行查询、新增、修改或删除的操作。
如果在网站制作完成后将文件上传至网络上的主机空间时发现,网络上的MySQL服务器访问的用户名、密码等方面与本机设置有所不同,可以直接修改位于Connection文件夹下的db_conn.php文件。但还是建议直接在本机配合网络主机上的环境来设置。例如,你拥有虚拟主机所提供的MySQL数据库名称为xu354jp6,但在本机却要命名为Charles,虽然可能会好看些,但到时候就会多一个麻烦了。
对于如何将本机已经完成的网站移植到网络上的空间,将在附录中有详细的介绍。
总之,在建立好数据库连接后,除非要连接MySQL数据库里的另一个数据库,否则不需要再做这个步骤了。
第1步 – 将Galera存储库添加到所有服务器
MySQL,修补包括Galera集群,不包括在默认的Ubuntu存储库,所以我们将开始通过添加由Galera项目维护的外部Ubuntu存储库到所有三个服务器。
注:Codership背后的公司Galera Cluster,维护该库,但并非所有的外部存储库是可靠的。确保只从可信来源安装。
首先,我们需要添加的存储库密钥apt-key命令,该命令的apt-get将用于验证该包是真实的。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 44B7345738EBDE52594DAD80D669017EBC19DDBA
一旦我们在每个服务器的数据库中拥有可信密钥,我们就可以添加存储库。我们需要运行apt-get update ,以包括封装在新的仓库后体现:
sudo add-apt-repository 'deb [arch=amd64,i386] xenial main'
sudo apt-get update
您可能会看到一个警告,签名uses weak digest algorithm (SHA1) 有GitHub上一个开放的问题,解决这个()。在此期间,可以继续。
一旦在所有三个服务器上更新了存储库,我们就可以安装MySQL和Galera。
第2步 – 在所有服务器上安装MySQL和Galera
在所有三台服务器上运行以下命令安装一个版本的MySQL修补程序与Galera,以及Galera和几个依赖关系:
sudo apt-get install galera-3 galera-arbitrator-3 mysql-wsrep-5.6
在安装过程中,将要求您设置MySQL管理用户的密码。 无论您选择什么,一旦复制开始,此根密码将被第一个节点的密码覆盖。
我们应该拥有所有必要开始配置集群件,但由于我们将依托rsync在后面的步骤,让我们确保它安装在所有这三个,以及..
sudo apt-get install rsync
这将确认的最新版本rsync已经可用,或提示您升级或安装。
一旦我们在三个服务器的每一个上安装了MySQL,我们就可以开始配置。
第3步 – 配置第一个节点
集群中的每个节点都需要具有几乎相同的配置。 因此,我们将在我们的第一台机器上进行所有配置,然后将其复制到其他节点。
默认情况下,MySQL的配置检查/etc/mysql/conf.d目录从截至获取其他配置设置.cnf 。 我们将在此目录中创建一个具有所有特定于集群的指令的文件:
sudo nano /etc/mysql/conf.d/galera.cnf
将以下配置复制并粘贴到文件中。 您将需要更改以红色突出显示的设置。 我们将解释每个部分的含义如下。
/etc/mysql/conf.d/galera.cnf在第一个节点
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="test_cluster"
wsrep_cluster_address="gcomm://first_ip,second_ip,third_ip"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="this_node_ip"
wsrep_node_name="this_node_name"
第一部分修改或再声称MySQL的设置,将允许群集正常工作。 例如,Galera Cluster不会的MyISAM或类似的非事务性存储引擎工作, mysqld不能绑定到的IP地址本地主机。 您可以了解Galera Cluster上进行更详细的设置系统配置页面()。
在“加莱拉提供程序配置”部分配置,提供了一个写设置复制API MySQL的组件。 这意味着Galera在我们的情况下,因为Galera是一个wsrep(写集复制)提供程序。 我们指定常规参数以配置初始复制环境。 这不需要任何定制,但你可以了解更多有关加莱拉配置选项()。
在“加莱拉群集配置”部分定义集群,确定通过IP地址或可解析域名,为群集创建一个名字集群成员保证成员加入正确的组。 您可以更改wsrep_cluster_name的东西比更有意义test_cluster或保留原样,但你必须更新wsrep_cluster_address与三个服务器的地址。 如果您的服务器具有专用IP地址,请在此处使用。
在“加莱拉同步配置”部分定义集群如何通信和同步成员之间的数据。 这仅用于在节点联机时发生的状态传输。 对于我们的初始设置,我们使用的是rsync ,因为它是常用的和做什么,我们需要现在。
在“加莱拉节点配置”部分明确了IP地址和当前服务器的名称。 这在尝试诊断日志中的问题以及以多种方式引用每个服务器时很有用。 该wsrep_node_address必须你在机器的地址相匹配,但你可以选择你,以帮助您识别在日志文件中的节点想要的任何名称。
当您对群集配置文件满意后,将内容复制到剪贴板中,保存并关闭文件。
接下来,/etc/mysql/my.cnf设置绑定地址为127.0.0.1。 这必须按顺序注释掉为我们在我们的galera.cnf`文件中正确设置它..
sudo nano /etc/mysql/my.cnf
/etc/mysql/my.cnf
. . .
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
. . .
现在第一个服务器已配置,我们将继续到下两个节点。
第4步 – 配置剩余节点
在每个其余节点上,打开配置文件:
sudo nano /etc/mysql/conf.d/galera.cnf
粘贴到从第一个节点复制的配置中,然后更新“Galera节点配置”以使用您设置的特定节点的IP地址或可解析域名。 最后,更新其名称,您可以将其设置为任何帮助您标识日志文件中的节点:
/etc/mysql/conf.d/galera.cnf
. . .
# Galera Node Configuration
wsrep_node_address="this_node_ip"
wsrep_node_name="this_node_name"
. . .
保存并退出每个服务器上的文件。 我们需要注释掉这两个服务器上的绑定地址。
sudo nano /etc/mysql/my.cnf
/etc/mysql/my.cnf
. . .
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
. . .
我们几乎准备好启动集群,但在我们做之前,我们将确保相应的端口已打开。
第5步 – 在每个服务器上打开防火墙
在每个服务器上,让我们检查防火墙的状态:
sudo ufw status
在这种情况下,只允许SSH通过:
OutputStatus: active
您可能有其他规则或没有防火墙规则。 由于在这种情况下只允许ssh流量,我们需要为MySQL和Galera流量添加规则。
Galera可以使用四个端口:
3306对于使用mysqldump方法的MySQL客户端连接和状态快照传输。
4567对于Galera群集复制流量,组播复制在此端口上同时使用UDP传输和TCP。
4568用于增量状态传输。
4444用于所有其他状态快照传输。
在我们的示例中,当我们进行设置时,我们将打开所有四个端口。 一旦我们确认复制正常,我们就要关闭我们实际上没有使用的任何端口,并将流量限制在集群中的服务器。
使用以下命令打开端口:
sudo ufw allow 3306,4567,4568,4444/tcp
sudo ufw allow 4567/udp
注:根据还有什么是你的服务器上运行,你可能想限制访问的时候了。
第6步 – 启动集群
首先,我们需要停止正在运行的MySQL服务,以便我们的集群可以联机。
在所有三个服务器上停止MySQL:
在所有三个服务器上使用以下命令停止mysql,以便我们可以在集群中将它们备份:
sudo systemctl stop mysql
systemctl不显示所有服务管理命令的结果,所以要确保我们成功了,我们将使用下面的命令:
sudo systemctl status mysql
如果最后一行看起来像下面这样,命令成功。
Output. . .
Sep 02 22:17:56 galera-02 systemd[1]: Stopped LSB: start and stop MySQL.
一旦我们关闭了mysql所有的服务器,我们就可以继续进行。
启动第一个节点:
我们已经配置了集群的方式,即上线尝试连接到其指定的至少一个其他节点的每个节点galera.cnf文件,以获取其初始状态。 一个正常的systemctl start mysql将失败,因为那里是与连接第一个节点上运行任何节点,所以我们需要将传递wsrep-new-cluster参数,我们开始第一个节点。 然而,无论是systemd也service将正确地接受--wsrep-new-cluster在这个时候的说法 ,所以我们需要使用启动脚本启动的第一个节点/etc/init.d 。 一旦你做到了这一点,你就可以开始与其他节点systemctl.
注意:如果你喜欢他们都与启动systemd ,一旦你有另一个节点,你可以杀死初始节点。由于第二个节点是可用的,当您重新启动第一个与sudo systemctl start mysql它将能够加入到正在运行的集群
sudo /etc/init.d/mysql start --wsrep-new-cluster
当这个脚本命令时,节点被注册为集群的一部分,我们可以使用以下命令查看它:
mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
mysql USE mysql; -- 切换到 mysql DB
Database changed
mysql SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机
+------+----------+-----------+
| User | Password | Host |
+------+----------+-----------+
| root | | localhost |
+------+----------+-----------+
1 row in set (0.00 sec)
mysql -- 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接
mysql -- 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接 如果你想所有机器都能连接 就设置为 %
mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;
mysql -- 当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:
mysql -- UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;
修改 Mysql 配置文件 my.ini
bind-address = 127.0.0.1
将 bind-address = 127.0.0.1 这一行注释掉, 即修改为:
#bind-address = 127.0.0.1
到此 Mysql-Server 端配置就完成了.
还有不明白的 点上面百度HI 问
您是想问数据库me升级中,请稍后再联机怎么办?
1、以管理员身份打开命令行窗口,注意是管理员身份,不然无权限访问。
2、输入命令。“tasklist|findstr"mysql"”,用于查找mysql的残留进程再联机。