mysql主从同步不一致后的解决方法
查看master的运行情况: [root@master] mysql -uroot -p************[root@master] mysql show master status \G; *************************** 1. row *************************** File: mysql-bin.000014 //这个信息点要记住,下面用 Position: 170017372
查看master的运行情况:
[root@master] mysql -uroot -p************ [root@master] mysql> show master status \G; *************************** 1. row *************************** File: mysql-bin.000014 //这个信息点要记住,下面用 Position: 170017372 //这个信息点要记住,下面用 Binlog_Do_DB: ipharmacare_admin Binlog_Ignore_DB: mysql,information_schema,performance_schema Executed_Gtid_Set: 1 row in set (0.00 sec)
查看slave的运行情况:
[root@slave] mysql -uroot -p************ [root@slave] mysql> show slave status \G; *************************** 1. row *************************** Slave_IO_State: Master_Host: master.mysql.ipharmacare.org Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000013 Read_Master_Log_Pos: 1003623481 Relay_Log_File: mysql-bin.000022 Relay_Log_Pos: 36726417 Relay_Master_Log_File: mysql-bin.000013 Slave_IO_Running: No Slave_SQL_Running: No Replicate_Do_DB: ipharmacare_admin Replicate_Ignore_DB: mysql,information_schema,performance_schema Replicate_Do_Table: Replicate_Ignore_Table: ipharmacare_admin.tb_hospital,ipharmacare_admin.t_customer,ipharmacare_admin.t_license,ipharmacare_admin.tb_hospital_zone_license,ipharmacare_admin.tb_hospital_license Replicate_Wild_Do_Table: ipharmacare_admin.% Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 1003623481 Relay_Log_Space: 1003624042 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: a8ddc479-8862-11e2-b6df-2761731e3dd6 Master_Info_File: /mnt/mysql/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: 1 row in set (0.00 sec)
结论:由上可知数据同步延迟很多,且希望重新做主从,使得主从在数据上保持完全同步.
先进入主库,进行锁表,防止数据写入
[root@master] mysql> flush tables with read lock;
进行master数据备份
[root@master] cd /mnt/mysql/bakdata [root@master] mkdir baksql [root@master] cd baksql [root@master] mysqldump ipharmacare_admin -uroot -p****** --opt> ipharmacare_admin.sql 或者: mysqldump -uroot -p***** --default-character-set=utf8 ipharmacare_admin > ipharmacare_admin.sql
打包数据(可选)
[root@master] 7za a ipharmacare_admin_20160505.7z ipharmacare_admin.sql
把mysql备份文件传到从库机器,进行数据恢复
[root@slave] cd /usr/downloads/ [root@slave] scp root@master:/mnt/mysql/bakdata/ipharmacare_admin_20160505.7z ./ [root@slave] 7az x ipharmacare_admin_20160505.7z [root@slave] mysql -uroot -p*****; [root@slave] mysql> drop database ipharmacare_admin; [root@slave] mysql> CREATE DATABASE ipharmacare_admin DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; [root@slave] msyql> source baksql.sql;
更新/设置同步进度点
[root@slave] change master to master_host='master.mysql.ipharmacare.org', master_user='slave', master_port=3306, master_password='************', master_log_file='mysql-bin.000014', master_log_pos=170017372;
注意:
1) 做了MySQL主从复制以后,使用mysqldump对数据备份时,一定要注意按照如下方式: [root@master] mysqldump –master-data –single-transaction –user=username –password=password dbname> dumpfilename 这样就可以保留file和position的信息,在新搭建一个slave的时候,还原完数据库,file和position的信息也随之更新,接着再start slave 就可以很迅速的完成增量同步。 2) 忘记主从复制时,对从库用户密码时,可以这样去重置: [root@master] GRANT REPLICATION SLAVE ON *.* TO 'slave'@'slave.mysql.ipharmacare.org' IDENTIFIED BY 'slave';

ホット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コマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

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

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

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

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

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLでテーブルをコピーするには、新しいテーブルの作成、データの挿入、外部キーの設定、インデックスのコピー、トリガー、ストアドプロシージャ、および機能が必要です。特定の手順には、同じ構造を持つ新しいテーブルの作成が含まれます。元のテーブルからデータを新しいテーブルに挿入します。同じ外部キーの制約を設定します(元のテーブルに1つがある場合)。同じインデックスを作成します。同じトリガーを作成します(元のテーブルに1つがある場合)。同じストアドプロシージャまたは関数を作成します(元のテーブルが使用されている場合)。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。
