MySQL中issh技术的简介与教程mysql中issh
发布网友
发布时间:2024-09-29 23:04
我来回答
共1个回答
热心网友
时间:2024-09-30 10:10
MySQL中issh技术的简介与教程
MySQL中的issh技术指的是“inter-server shared hash”,即在多个MySQL服务器上共享哈希索引的技术。这项技术可以提高多控制节点MySQL集群的查询性能和扩展性,同时减少索引重建成本,并降低索引存储空间。
issh技术的实现基于哈希分布式算法,每个MySQL服务器存储表的一部分哈希索引,不同的MySQL服务器之间可以共享哈希索引,从而提高了查询性能。在issh技术中,数据分散在不同的MySQL服务器上,每个服务器通过哈希算法来寻找存储数据的位置,同时保证查询的数据可以在本地服务器上直接获得,从而减少数据传输的开销。
下面是一些关于如何使用issh技术的步骤:
1. 使用CREATE TABLE语句建立表,将表分为多个分区。
2. 在每个MySQL服务器上创建分区表。
3. 在每个分区表上创建本地哈希索引。
4. 使用issh技术将不同MySQL服务器上的哈希索引连接起来。
代码示例:
–创建一个issh表
CREATE TABLE student(
id INT(10) NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT(10),
PRIMARY KEY(id)
)ENGINE=INNODB
PARTITION BY HASH(id)
PARTITIONS 4;
–在每个MySQL服务器上创建分区表
CREATE TABLE student_p1(
id INT(10) NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT(10),
PRIMARY KEY(id)
)ENGINE=INNODB;
CREATE TABLE student_p2(
id INT(10) NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT(10),
PRIMARY KEY(id)
)ENGINE=INNODB;
CREATE TABLE student_p3(
id INT(10) NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT(10),
PRIMARY KEY(id)
)ENGINE=INNODB;
CREATE TABLE student_p4(
id INT(10) NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT(10),
PRIMARY KEY(id)
)ENGINE=INNODB;
–在每个分区表上创建本地哈希索引
CREATE INDEX ix_student_p1 ON student_p1(id) USING HASH;
CREATE INDEX ix_student_p2 ON student_p2(id) USING HASH;
CREATE INDEX ix_student_p3 ON student_p3(id) USING HASH;
CREATE INDEX ix_student_p4 ON student_p4(id) USING HASH;
–使用issh技术将不同MySQL服务器上的哈希索引连接起来
ALTER TABLE student SHARED INDEX(ix_student_p1, ix_student_p2, ix_student_p3, ix_student_p4);
使用issh技术可以提高MySQL集群的扩展性和查询性能,但也需要考虑到分布式开销和系统负载平衡问题,因此在使用时需要综合权衡各种因素。
MySQL中issh技术的简介与教程mysql中issh
1. 使用CREATE TABLE语句建立表,将表分为多个分区。2. 在每个MySQL服务器上创建分区表。3. 在每个分区表上创建本地哈希索引。4. 使用issh技术将不同MySQL服务器上的哈希索引连接起来。代码示例:–创建一个issh表 CREATE TABLE student(id INT(10) NOT NULL AUTO_INCREMENT,name VARCHAR(50...
shell脚本实现mysql数据库双机定时备份
2.3 docker容器确认环境#数据库备份docker exec -u root mysql bash -c 'rm -rf /usr/local/pm/* && mysqldump -u用户名 -p密码 数据库名 > /usr/local/pm/pm_yantai_$(date "+%Y-%m-%d").sql'#sql拷贝出来docker cp mysql:/usr/local/pm/pm_yantai_$(date "+%Y-%m-%d").sql ...
几个常用的MySQL性能测试工具
mysqlslap -umysql -p123 --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=mixed --engine=myisam --number-of-queries=10 --debug-info 或:指定数据库和sql语句:mysqlslap -h192.168.3.18 -P4040 --concurrency...
如何安全的配置和应用MySQL数据库_MySQL
/mysqld#scripts/mysql_install_db#chown -R root /usr/local/mysql#chown -R mysql /usr/local/mysql/var#chgrp -R mysql /usr/local/mysql 上面各步骤的具体作用在MySQL手册里已有介绍,惟一需要解释、和一般步骤不同的地方在于--with-mysqld-ldflags=-all-static。因为需要用到Chroot环境,而MySQL本身连接成...
mysql是否有触发机制,可以执行shell脚本
1、将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下:--演示环境 [root@SZDB ~]# more /etc/issue CentOS release 5.9 (Final)Kernel \r on an \m root@localhost[(none)]> show variables like 'version';+---+---+ | Variable_name | Value | +---+---+ | version ...
shell函数中包含<<!会出现语法错误
例如自动登录mysql(root:root,passwd:123456),查询test库,test1表里的user=aa的记录.!/bin/sh mysql -uroot -p123456 <<EOF use test;select * from testaa while a=10000; ###1000 not usr single quote mark,because a is int type,only char type need single quote mark.exit EOF ...
django中login怎么导入(2023年最新解答)
`--start.sh 2directories,18files root@CD-FTP-VPN:/opt/jastme 使用pythonmanage.pysyncdb来创建一个叫jastme,密码为jastme的超级用户。我们可以用Django-admin来管理这些用户。首先看看setting.py root@CD-FTP-VPN:/opt/jastme#morejastme/settings.py """Djangosettingsforjastmeproject.Formore...
ShardingSphere实战之读写分离
启动1在bin目录下执行start.sh启动ShardingSphere 2用任意mysql客户端连接数据库,就像连接一个往常的数据库一样 地址:127.0.0.1 端口:3307 账号:root/root 数据库my-app(这里就用到上面配置的逻辑数据库名了)3查看库表中的数据,应该跟主、从库中的一致。这里我遇到了一个小问题,就是select...
Linux环境搭建与基本指令(手把手带你在Linux部署项目)
2.2.3安装与配置数据库 安装MySQL,因为历史原因,MySQL被oracle收购后,MySQL创始人又发明了MariaDB,语法可以说与MySQL一模一样,所以准确说是安装MariaDB。 安装教程如下: 安装mariadb 服务#yuminstall-ymariadb-server 安装mariadb 命令行客户端#yuminstall-ymariadb 安装mariadb C library#yuminstall-ymariadb-libs...
aix 安装mysql时,数据库初始化一直停留在Installing MySQL system tables...
Welcome to the MySQL monitor. Commands end with ; or \\\g.Your MySQL connection id is 33 to server version: 3.22.25 Type \\\'help\\\' for help.Mysql> 键入exit回到shell。脚本mysql.server(位于`share/mysql\\\'目录中)用于启动或停止MySQL服务器:shell> mysql.server start she...