Mysql-Master与Slave配置_MySQL
bitsCN.com
今天在ubuntu下进行了mysql的Master和Slave的简单配置,基本上属于hello world的难度,但是看起来很简单,但真正做一遍,可不是那么的容易了。
环境:在两台电脑上,开启mysql服务。
原理:在slave端会有两个线程负责同步工作,一个IO线程,负责将master中的bin log读取过来转换为relay log;另一个是sql线程,根据relay log执行sql语句。
首先说一下大体的步骤,其实就是两部分,一部分是master端的配置,另一部分就是slave端的配置。
一、master端的配置
在master端,主要有两个事情需要做,一个是授权,另一个是修改配置文件。
授权:grant replication slave on *.* to ‘slave’@34.34.34.34 identified by '123';
配置文件:bind-address = 0.0.0.0 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
bind-address改为0.0.0.0为了允许远程访问;server-id唯一表示该master;log-bin记录对数据库的日志,slave通过该文件同步。
二、slave端的配置
slave端的配置主要是让slave知道同步master的地址以及日志文件,可以通过两种方式实现,一种是直接在配置文件中设定参数,另一种是在mysql命令行中设定master。
配置文件方式:在mysqld中添加下面的参数
server-id = 2
master-host = 45.45.45.45
master-user = slave
master-password = 123
master-port = 3306
log_bin = /var/log/mysql/mysql-bin.log //本地的binlog文件
relay_log = /var/log/mysql/mysql-relay.log //转化成的relay_log文件
master_log_file = mysql-bin.000022 //master中的bin log文件
master_log_pos = 106 //从那个位置开始恢复
命令行方式:
change master to master_host='45.45.45.45', master_user='slave', master_password='123', master_port=3306, master_log_file='mysql-bin.000022', master_log_pos=106;
这两种方式可以混合用,但server-id必须在配置文件中说明。
配置完成之后,通过slave stop/start开启slave线程。
通过 show slave status;查看线程的状态。
第一次试验时出现io线程失败, 原因可能有三个:1、网络出现问题,2、my.cnf配置有问题,3、权限不对,如何看是那一种原因呐,可以查看error log,通过error log的提示查找错误。
数据复制是mysql的核心功能,看起来配置很简单,但是想真正实现安全、完成的复制还是需要很多工作的,以上只是一个简单的配置,如果需要更好的应用还需要深入的学习。
bitsCN.com
ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLのユーザー名とパスワードを入力するには:1。ユーザー名とパスワードを決定します。 2。データベースに接続します。 3.ユーザー名とパスワードを使用して、クエリとコマンドを実行します。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

次のコマンドでmysqlデータベースを表示します。サーバーに接続します:mysql -u username -pパスワードrun showデータベース。すべての既存のデータベースを取得するコマンド[データベース]を選択します。データベース名を使用します。テーブルを表示:表を表示します。テーブル構造を表示:テーブル名を説明してください。データを表示:[テーブル名]から[ *]を選択します。

データベース酸属性の詳細な説明酸属性は、データベーストランザクションの信頼性と一貫性を確保するための一連のルールです。データベースシステムがトランザクションを処理する方法を定義し、システムのクラッシュ、停電、または複数のユーザーの同時アクセスの場合でも、データの整合性と精度を確保します。酸属性の概要原子性:トランザクションは不可分な単位と見なされます。どの部分も失敗し、トランザクション全体がロールバックされ、データベースは変更を保持しません。たとえば、銀行の譲渡が1つのアカウントから控除されているが別のアカウントに増加しない場合、操作全体が取り消されます。 TRANSACTION; updateaccountssetbalance = balance-100wh
