首页 > 编程知识 正文

1台mysql服务器,部署mysql服务器

时间:2023-12-28 21:11:07 阅读:329227 作者:DAWR

本文目录一览:

如何在一台服务器上安装两个mysql或者更多

这种架构一般用在以下三类场景

1. 备份多台 Server 的数据到一台如果按照数据切分方向来讲,那就是垂直切分。比如图 2,业务 A、B、C、D 是之前拆分好的业务,现在需要把这些拆分好的业务汇总起来备份,那这种需求也很适用于多源复制架构。实现方法我大概描述下:业务 A、B、C、D 分别位于 4 台 Server,每台 Server 分别有一个数据库来隔离前端的业务数据,那这样,在从库就能把四台业务的数据全部汇总起来,而不需要做额外的操作。那没有多源复制之前,要实现这类需求,只能在汇总机器上搭建多个 MySQL 实例,那这样势必会涉及到跨库关联的问题,不但性能急剧下降,管理多个实例也没有单台来的容易。

2. 用来聚合前端多个 Server 的分片数据。

同样,按照数据切分方向来讲,属于水平切分。比如图 3,按照年份拆分好的数据,要做一个汇总数据展现,那这种架构也非常合适。实现方法稍微复杂些:比如所有 Server 共享同一数据库和表,一般为了开发极端透明,前端配置有分库分表的中间件,比如爱可生的 DBLE。

3. 汇总并合并多个 Server 的数据

第三类和第一种场景类似。不一样的是不仅仅是数据需要汇总到目标端,还得合并这些数据,这就比第一种来的相对复杂些。比如图 4,那这样的需求,是不是也适合多源复制呢?答案是 YES。那具体怎么做呢?

如何实现同一台mysql服务器中不同数据库之间的数据同步

1.主上修改my.cnf文件:

server-id=1

log-bin=mysql-bin

2.从上修改配置文件 my.cnf

server-id=2

relay-log=relay-bin

read-only =1

replicate-ignore-db = mysql

replicate-ignore-db = test

replicate-ignore-db = information_schema

#replicate-wild-do-table = tt.admin

replicate-wild-do-table = my_db.stu // 所要同步的数据库的单个表

3. 创建 同步的用户(主上)

grant replication client,replication slave on *.* to rep@'10.41.50.105' identified by 'root';

4.同步到主库(在从上操作)

change master to master_host='10.41.50.80',master_user='rep',master_password='root';

5.在从上验证:

show slave statusG;

主从同步某些表

如何配置MySQL集群在一台服务器

您好,很高兴为您解答。

一,先确认Cluster的包已经正确安装

[root@cluster-one ~]# rpm -aq|grep -i mysql

MySQL-Cluster-client-gpl-7.2.10-1.el6.x86_64

MySQL-Cluster-server-gpl-7.2.10-1.el6.x86_64

MySQL-Cluster-shared-compat-gpl-7.2.10-1.el6.x86_64

MySQL-Cluster-devel-gpl-7.2.10-1.el6.x86_64

二,创建如下几个配置文件,下面启动时要用到

[root@cluster-one mysqlData]# more config.ini

[NDBD DEFAULT]

NoOfReplicas=2

[TCP DEFAULT]

#portnumber=3388

[NDB_MGMD]

NodeId = 1

hostname=localhost

datadir=/mysqlData/clustermgmd-data/

[NDBD]

NodeId = 2

hostname=localhost

datadir=/mysqlData/clusterndb1-data/

[NDBD]

NodeId = 3

hostname=localhost

datadir=/mysqlData/clusterndb2-data/

[MYSQLD]

NodeId = 4

hostname=localhost

[MYSQLD]

NodeId = 5

hostname=localhost

[MYSQLD]

[root@cluster-one mysqlData]# more my1.cnf

[mysqld]

ndbcluster

socket=/data/socket/n1.sock

pid-file=/data/socket/n1.pid

log-error = /data/log/n1_err.log

port = 3501

[mysql_cluster]

ndb-connectstring=localhost

[root@cluster-one mysqlData]# more my2.cnf

[mysqld]

ndbcluster

socket=/data/socket/n2.sock

pid-file=/data/socket/n2.pid

log-error = /data/log/n2_err.log

port = 3502

[mysql_cluster]

ndb-connectstring=localhost

[root@cluster-one mysqlData]# more /etc/my.cnf

[mysqld]

ndbcluster

socket=/var/lib/mysql/mysql.sock

pid-file=/data/socket/mysqld.pid

datadir=/mysqlData/clusterapi

log-bin=mysql-bin

log-bin-index=mysql-bin.index

binlog-format=ROW

server-id=1

port = 3401

[mysql_cluster]

ndb-connectstring=localhost

[client]

socket=/var/lib/mysql/mysql.sock

三,分别启动所有结点 (需要注意的是,如果是第一次启动,请在 管理结点/数据结点 的启动参数后面加上 --initial)

启动结点之前,请确保,上面配置文件指定的目录都存在。

不存在,请自行先创建一个,或是你修改配置文件指定其它目录。目录有:

/mysqlData/clustermgmd-data/

/mysqlData/clusterndb1-data/

/mysqlData/clusterndb2-data/

/mysqlData/clusterapi

/data/socket/mysqld.pid

/data/socket/

/data/log/

管理结点

[root@cluster-one ~]# ndb_mgmd -f /mysqlData/config.ini

MySQL Cluster Management Server mysql-5.5.29 ndb-7.2.10

数据结点1

[root@cluster-one ~]# ndbd --defaults-file=/mysqlData/my1.cnf

2013-12-20 02:35:42 [ndbd] INFO -- Angel connected to 'localhost:1186'

2013-12-20 02:35:42 [ndbd] INFO -- Angel allocated nodeid: 2

数据结点2

[root@cluster-one ~]# ndbd --defaults-file=/mysqlData/my2.cnf

2013-12-20 02:35:46 [ndbd] INFO -- Angel connected to 'localhost:1186'

2013-12-20 02:35:46 [ndbd] INFO -- Angel allocated nodeid: 3

查询结点,如果没有/etc/init.d/mysql这个文件,可以 把 “

/usr/share/mysql/mysql.server” 拷贝到/etc/init.d目录下,并改名为mysql

[root@cluster-one ~]# /etc/init.d/mysql start

Starting MySQL

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

一台mysql实例 可以创建多少mysql数据库

本质上对创建数据库没有限制,可以使用实例副本进行创建。

大多情况下,需要可靠而有效地克隆 MySQL 实例数据。这包括 MySQL 高可用的解决方案,其中需要在将实例加入组复制集群之前配置实例,或者在经典复制模型中将其添加为 Slave。

为复制拓扑而创建 MySQL 副本一直很麻烦。涉及的步骤很多,首先要备份 MySQL 服务器,通过网络将备份传输到我们想要添加到复制集的新 MySQL 节点,然后在该节点上恢复备份并手动启动 MySQL 服务器。为了高可用,最好还要将其正确设置备份的 GTID,并启动并运行群集。涉及的手动步骤数量过多不利于高可用。CLONE 插件解决了这个问题并简化了副本配置。使您可以使用 MySQL 客户端(和 SQL 命令)来配置新节点并在发生时观察克隆进度。无需手动处理多个步骤并维护自己的基础架构来配置新的 MySQL 节点。

MySQL 8.0.17 引入了 CLONE SQL 语句,使当前的 MySQL 服务器成为另一个运行在不同节点的 MySQL 服务器的“克隆”。我们将执行 clone 语句的服务器实例称为“受体”。克隆的源服务器实例称为“供体”。供体克隆以一致的快照存储在 InnoDB 存储引擎中的所有数据和元数据,以替换受体中的数据。

成功执行 CLONE SQL 语句后,将自动重新启动受体服务器。重新启动涉及恢复克隆的快照数据,就像用老方法复制数据一样。恢复完成后,受体就是供体的克隆版,随时可以使用!

这里有一些关于克隆过程的重要注意事项。

不克隆 MySQL 配置参数,并且受体保留所有原始配置参数,如克隆之前。这样做是因为许多配置可能特定于节点(例如 PORT),因此保留它们似乎是一个不错的选择。另一方面,一些存储配置确实需要在供体和受体之间匹配(例如 innodbpagesize),如果这样的配置参数不匹配,CLONE 将报告错误。

CLONE 插件不会克隆二进制日志。

CLONE 插件目前仅支持 InnoDB 存储引擎。在其他存储引擎(如 MyISAM 和 CSV)中创建的表将被克隆为空表。克隆基础架构的设计允许克隆 MySQL 支持的任何存储引擎。但是,只有 InnoDB 序列化和反序列化方法已经实现并经过测试。

克隆会阻止供体中的所有并发 DDL。

需要注意的事实是受体放弃所有数据以及任何二进制日志,以便成为供体实例的克隆。在执行 CLONE 之前,如果认为有必要,需要备份当前受体数据。

MySQL在一台db服务器上面如何启动多个实例

一、上传RPM包到服务器上 二、安装mysql服务器端rpm -ivhMySQL-server-5.5.8-1.rhel5.x86_64.rpm 三、安装mysql客户端 rpm -ivhMySQL-client-5.5.8-1.rhel5.x86_64.rpm 四、创建目录 在/data下创建目录,把原来的数据目录/var/lib/mysql 移到/data/mysql/data1和/data/mysql/data2下,并修改mysql目录以及子目录权限 PS:安装后默认的几个重要目录 目录 内容/var/lib/mysql 数据文件,日志文件等等/usr/bin客户端程序和脚本/usr/share/mysql 错误消息和字符集文件/etc/rc.d/init.d/mysql 启动脚本文件 创建目录 修改权限 五、修改并上传配置文件my.cnf 从服务器上的/usr/share/mysql目录中把my-innodb-heavy-4G.cnf拷贝一份到本地。编辑其内容增加数据文件和日志文件的目录,修改socket目录。 六、用mysql_multi启动多个服务 启动:mysqld_multi --defaults-file=/etc/my.cnf start1,2 查看是否启动:mysqld_multi --defaults-file=/etc/my.cnfreport 1 七、查看端口是否打开 八、连接进入指定的mysql服务器 mysql -u root -S/tmp/mysql1.sock 或者mysql -uroot -P3307 -h127.0.0.1 九、记得关闭防火墙

我有一台mysql服务器,让它既作一些mysql的主服务器又想把它当做一个mysql的从服务器使用,如何配置?

这个。。你要想玩主从,一台服务器没意义啊,好歹弄个虚拟机搭个mysql服务器也行啊

要真是就1台服务器就别弄主从了。。 如果2台或者2台以上的mysql 配置, 基本上就是在你config里写主库和从库的用户名和密码,地址等信息(或者写在apache配置里面 写成$ENV) 在你的数据调用类(通常叫做db.class.php)里面自己做主从的各种方法就行了

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