Mysql-cluster环境配置
硬件环境
4台机器
192.168.1.10 管理节点
192.168.1.11 存储节点 SQL节点
192.168.1.12 存储节点、SQL节点
192.168.1.13 SQL节点
软件环境:
操作系统:CentOS 6 .5(64位)
Mysql版本:MySQL-Cluster-gpl-7.3.5-1.el6.x86_64.rpm-bundle.tar
mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz(需要其中的两个文件)
安装准备:
1. 解压MySQL-Cluster-gpl-7.3.5-1.el6.x86_64.rpm-bundle.tar:
将解压后的MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm分发至每台机器;
将解压后的MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm分发至SQL节点;
2. 清理旧的Mysql安装:
yum -y remove mysql
rpm -qa | grep mysql*
对于找到的1个剩余mysql包,请按照如下的命令格式予以删除:
rpm -e --nodeps mysql-libs-5.1.61-4.el6.x86_64
3. 安装依赖库:
yum -y install libaio
安装MySQL Cluster:
创建文件夹(分如下3个类来创建对应的文件夹)
存储节点:mkdir /var/lib/mysql/data
管理节点:mkdir /var/lib/mysql-cluster SQL节点:可不用 文件夹授权
进程DIR: mkdir /var/run/mysqld
使用如下的命令来变更权限保证可写入:
chmod -R 1777 /var/lib/mysql
chmod -R 1777 /var/run/mysqld
chmod -R 1777 /var/lib/mysql-cluster
1. 在每台机器上安装MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm
执行命令:rpm -Uvh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm
安装后会提示默认密码存放在/root/.mysql_secret文件中(也有时候不提示)
2. 在SQL节点上安装MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm
执行命令:rpm -Uvh MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm
配置管理节点:
- 解压mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz,进入其
mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64/bin目录找到ndb_mgm和ndb_mgmd,将其复制到管理节点的/usr/local/bin,
然后使这两个文件成为可执行的:
cd /usr/local/bin
chmod +x ndb_mgm*
- 在管理节点上执行:
cd /var/lib/mysql-cluster
vi config.ini
内容如下:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=20M
[ndb_mgmd]
# Management process options:
hostname=192.168.1.10 # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node log files
[ndbd]
HostName=192.168.1.11
DataDir=/var/lib/mysql/data
[ndbd]
HostName=192.168.1.12
DataDir=/var/lib/mysql/data
[mysqld]
HostName=192.168.1.11
[mysqld]
HostName=192.168.1.12
[mysqld]
HostName=192.168.1.13
配置存储节点和SQL节点:
在所有存储节点和SQL节点上建立配置文件:
vi /etc/my.cnf
内容如下:
[client]
socket=/var/lib/mysql/mysql.sock
[mysqld]
max_connections=100
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
ndbcluster
ndb-connectstring=192.168.1.10
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=192.168.1.10
~
启动各个节点:
注意顺序。
- 启动管理节点:ndb_mgmd -f /var/lib/mysql-cluster/config.ini
(需要在管理节点执行,这会创建一个目录/usr/local/mysql/mysql-cluster,没有的话可能报错,就自己手动创建一个
mkdir /usr/local/mysql
mkdir /usr/local/mysql/mysql-cluster)
2. 启动存储节点:ndbd --initial
(需要在存储节点执行) 初次启动时需要加--initial参数,以后只需要执行ndbd即可;
3. 启动SQL节点:nohup mysqld_safe --explicit_defaults_for_timestamp &
(需要在SQL节点执行)
启动之前,需要先检查其3306端口是否被占用,sudo netstat -anp | grep 3306 查看3306端口是否被占用
如果被占用需要kill掉,然后再启动
检查所有节点是否正常启动:
在管理节点中执行ndb_mgm 进入集群管理console,使用show命令列出所有节点信息:
可以看到sql节点没有启动成功,解决方法:
cd /var/lib/mysql
ls
rm -f ib* (删除掉lb开头的文件)
用命令:sudo netstat -anp | grep 3306 查看3306端口是否被占用
如果被占用kill杀掉
然后重新启动执行上面操作看到
常用命令:
1) ndb_mgmd管理命令:ndb_mgm
执行之后就是管理控制台了,里面可以继续输入命令。
查看集群里面的全部节点的状态:show
2) 停止集群服务器的命令:ndb_mgm -e shutdown
如果集群配置有更新了:rm /usr/mysql-cluster/ndb_1_config.bin.1
3) 停止SQL节点的命令:mysqladmin -uroot shutdown
4) SQL Node上连接MySQL:mysql -u root –pPASSWORD
执行之后就是MySQL控制台了,里面可以继续输入命令。
修改root用户密码:
在每个SQL节点中执行:
mysqladmin -u root -pOLDPASSWORD password 'newpassword'
其中OLDPASSWORD为/root/.mysql_secret中生成的:
cat /root/.mysql_secret (查看随机生成的密码)
# The random password set for the root user at Tue Apr 15 11:08:59 2014 (local time): Nnqn0u1MRcpXkMue
测试集群:
在192.168.1.12上登录
mysql -u root –ppassword
mysql> create database transenly;
Query OK, 1 row affected (0.06 sec)
mysql> use transenly;
Database changed
mysql> CREATE TABLE ctest2 (i INT) ENGINE=NDB;(创建表的时候必须加上后面的ENGINE=NDB,不然数据同步不成功)
Query OK, 0 rows affected (0.38 sec)
在192.168.1.11上登录
mysql -u root –ppassword
可以看到数据库和数据表都有了,说明数据同步成功
数据导入使用sql文件导入
将sql文件放入到本地的一个地方,如/var/lib/mysql/data/
其中需要将sql文件中 ENGINE= InnoDB修改为ENGINE-NDB,保证数据同步的
在其中随意一个sql节点登录
mysql -u root –ppassword
use transenly;(使用的数据库,前提是先创建好数据库)
source /var/lib/mysql/data/transenly.sql
出现Query OK, 0 rows affected (0.00 sec)说明导入成功
然后show tables;查看三个sql节点是否都创建成功
项目连不上数据库:
需要修改权限,是服务器可以随便访问
mysql> grant all privileges on *.* to root@'%' identified by 'mysql' with grant option;
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES //修改生效
4、mysql>EXIT //退出MySQL服务器

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MySQLデータベースを構築する手順には次のものがあります。1。データベースとテーブルの作成、2。データの挿入、および3。クエリを実行します。まず、createdAtabaseおよびcreateTableステートメントを使用してデータベースとテーブルを作成し、InsertINTOステートメントを使用してデータを挿入し、最後にSelectステートメントを使用してデータを照会します。

MySQLは、使いやすく強力であるため、初心者に適しています。 1.MYSQLはリレーショナルデータベースであり、CRUD操作にSQLを使用します。 2。インストールは簡単で、ルートユーザーのパスワードを構成する必要があります。 3.挿入、更新、削除、および選択してデータ操作を実行します。 4. Orderby、Where and Joinは複雑なクエリに使用できます。 5.デバッグでは、構文をチェックし、説明を使用してクエリを分析する必要があります。 6.最適化の提案には、インデックスの使用、適切なデータ型の選択、優れたプログラミング習慣が含まれます。

MySQLは初心者に適しています。1)インストールと構成、2)リッチラーニングリソース、3)直感的なSQL構文、4)強力なツールサポート。それにもかかわらず、初心者はデータベースの設計、クエリの最適化、セキュリティ管理、データのバックアップなどの課題を克服する必要があります。

はい、sqlisaprogramginglanguagespecializedfordatamanamanagement.1)それはdeclarative、focusingonwhattoachieveratherthanhow.2)

酸性属性には、原子性、一貫性、分離、耐久性が含まれ、データベース設計の基礎です。 1.原子性は、トランザクションが完全に成功するか、完全に失敗することを保証します。 2.一貫性により、データベースがトランザクションの前後に一貫性を保証します。 3.分離により、トランザクションが互いに干渉しないようにします。 4.永続性により、トランザクションの提出後にデータが永久に保存されることが保証されます。

MySQLは、データベース管理システム(DBMS)であるだけでなく、プログラミング言語にも密接に関連しています。 1)DBMSとして、MySQLはデータを保存、整理、取得するために使用され、インデックスを最適化するとクエリのパフォーマンスが向上する可能性があります。 2)SQLとPythonに埋め込まれたプログラミング言語とSQLalchemyなどのORMツールを使用すると、操作を簡素化できます。 3)パフォーマンスの最適化には、インデックス、クエリ、キャッシュ、ライブラリ、テーブル分割、およびトランザクション管理が含まれます。

MySQLはSQLコマンドを使用してデータを管理します。 1.基本コマンドには、select、挿入、更新、削除が含まれます。 2。高度な使用には、参加、サブクエリ、および集計関数が含まれます。 3.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。 4。最適化のヒントには、インデックスの使用、Select*の回避、制限の使用が含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版
便利なJavaScript開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
