ホームページ データベース mysql チュートリアル MySQL的主从服务器配置(未完)

MySQL的主从服务器配置(未完)

Jun 01, 2016 pm 01:12 PM

必备知识:
1、MYSQL 用户授权
1、查看用户授权表
select user,host,password from mysql.user
2、登录mysql
mysql -u root -p password -h (IP)
3、给从服务器设置授权用户账户
grant all on *.* to user(用户名)@192.168.2.1 identified by '123'(密码);
注:该账户必须授予 REPLICATION SLAVE 权限,这里为了方便,就设了all

2、MYSQL bin-log 日志
1、解释:二进制日志
2、开始bin-log日志
配置文件中添加:
log-bin = mysql-bin(mysql-bin是文件的文件名)
3、查看是否开启log-bin
命令:
show variables like "%log-bin%"
4、与bin-log有关的日志刷新
1、flush logs :
此时就会多一个最新的bin-log日志
2、show master status; :
查看最后一个bin日志
3、reset master :
清空所有的bin-log日志
4、查看bin-log值日的内容:
命令:mysqlbinlog --no-defaults mysql-bin.00001 (--no-defaults:这个指令的作用就在于字符集的问题,原因可能是mysql开发的BUG)

注:这个命令好像有点不对,不知是不是我写错了,2014-5-31:01:51:39,待查

3、MYSQL 主从复制
1、Mysql 数据的备份和数据丢失之后的找回
1、MYSQL 备份语句:
mysqldump -u root -p123 test(库名) -l -F > /tmp/test.sql
解释:其中 -l表示的意思,就是在备份期间锁定数据库,不能进行读写操作,而-F的作用是,重新生成新的日志文件,也包括log-bin日志
2、MYSQL 恢复语句:
mysql -uroot -p123 3、问题:
假设数据库备份的时间是在9点,但是服务器挂掉的时间是在10点,问如何恢复9点到10点之间的数据
 回答:
可以通过mysql的log-bin日志来恢复9点到10点之间的数据,用的的命令是 mysqlbinlog :
命令示范: mysqlbinlog --no-default mysql-bin.00001 --stop-position='280' | mysql -uroot -p123 test
命令解释:--stop-position='280' 这个参数,是指定需要恢复到哪条数据为止
:--start-position='106' 这个参数,是指从哪条数据开始恢复
:test 指的是要被恢复的数据库
4、MYSQL 的读写锁定:不适用 mysqldump(此命令已经自带参数 -l 进行锁定,并自动解锁)
锁定语句:flush tables with read lock;
解锁语句:unlock tables;

2、 MYSQL 的主从服务器配置:
1、MYSQL 主服务器的配置:
1、需要开启:
log-bin = mysql-bin(logs的文件名)
2、设置唯一的server-id:
server-id = 1 备注:取值范围 1 到 2的32次方 减 1
3、在主服务器上为从服务器建立访问权限:
命令:
grant all on *.* to user@192.168.2.1 identified by 123
解释:
在主服务器上建立一个拥有全部权限的用户user,操作范围是所有库和所有表,用户user的地址就是192.168.2.1,密码为123.注意:在访问时如果地址不正 确,则亦访问不了
4、备注:
1、主服务器配置文件选项:
binlog-do-db=mysql #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
binlog-ignore-db=mysql #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
log-slave-updates #这个参数一定要加上,否则不会给更新的记录些到二进制文件里
slave-skip-errors #是跳过错误,继续执行复制操作
2、MYSQL 从服务器的配置:
1、需要开启:
log-bin = mysql-bin
2、设置唯一的server-id:
server-id = 2
3、在从服务器的配置文件中,需要指定访问的主服务器的地址,端口以及所用到的用户名
实例:
master-host = 192.168.2.2
master-user = user
master-pass = 123
maste-port = 3306
master-connect-retry = 60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db = test #需要备份的数据库名
replicate-ignore-db=test #忽略的数据库
log-slave-updates #这个参数一定要加上,否则不会给更新的记录些到二进制文件里
slave-skip-errors #是跳过错误,继续执行复制操作
备注:
mysql> CHANGE MASTER TO
 -> MASTER_HOST='master_host_name',
 -> MASTER_USER='replication_user_name',
 -> MASTER_PASSWORD='replication_password',
 -> MASTER_LOG_FILE='recorded_log_file_name',
 -> MASTER_LOG_POS=recorded_log_position;
4、在从服务器上启动slave进程
命令:
mysql> start slave;
5、查看配置结果(status)
命令:
show slave status;
3、配之中常见的问题:
1、一般的异常只需要选择跳过一步即可解决
命令:-->slave stop;
  -->SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ;
  -->slave start;
2、主键冲突,表已存在等错误:
方案:在 MYSQL 主服务器配置文件中跳过此类异常,继续下一步
slave_skip_errors = 1062, 1032, 1060

4、备注:
1、
当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新。

2、
MySQL使用3个线程来执行复制功能(其中1个在主服务器上,另两个在从服务器上。当发出 START SLAVE 时,从服务器创建一个I/O线程,以连接主服务器并让主服务器发送二进制日志。主服务器创建一个线程将二进制日志中的内容发送到从服务器。从服务器I/O 线程读取主服务器Binlog Dump线程发送的内容并将该数据拷贝到从服务器数据目录中的本地文件中,即中继日志。第3个线程是SQL线程,从服务器使用此线程读取中继日志并执行日 志中包含的更新。SHOW PROCESSLIST 语句可以查询在主服务器上和从服务器上发生的关于复制的信息
3、
默认中继日志使用host_name-relay-bin.nnnnnn形式的文件名,其中 host_name 是从服务器主机名,nnnnnn是序列号。用连续序列号来创建连续中继日志文件,从000001开始。从服务器跟踪中继日志索引文件来识别目前正使用的中 继日志。默认中继日志索引文件名为host_name-relay-bin.index。在默认情况,这些文件在从服务器的数据目录中被创建。中继日志与 二进制日志的格式相同,并且可以用mysqlbinlog读取。当SQL线程执行完中继日志中的所有事件后,中继日志将会被自动删除。
4、
在主服务器上为复制设置一个连接账户。该账户必须授予 REPLICATION SLAVE 权限。如果账户仅用于复制(推荐这样做),则不需要再授予任何其它权限。

4、MYSQL 分区技术

需巩固的地方:
1、可能需要用到的 Linux 命令:
1、pstree

2、ifconfig eth0 192.168.2.1

3、scp

2、window 命令:

3、Mysql 命令:
1、show status; /G

单词:
client -> 客户端
variable 变量
replicate 复制

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

INNODBフルテキスト検索機能を説明します。 INNODBフルテキスト検索機能を説明します。 Apr 02, 2025 pm 06:09 PM

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

外国の鍵を使用して関係をどのように表現しますか? 外国の鍵を使用して関係をどのように表現しますか? Mar 19, 2025 pm 03:48 PM

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

JSON列にインデックスを作成するにはどうすればよいですか? JSON列にインデックスを作成するにはどうすればよいですか? Mar 21, 2025 pm 12:13 PM

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

See all articles