生产环境上线程序导致服务故障案例解析
生产环境上线发布程序导致服务故障案例解析(老男孩郑重声明:本文不针对任何公司和个人,仅供大家学习交流之用)1由生产操作失误引起的故障...................
生产环境上线发布程序导致服务故障案例解析
(老男孩郑重声明:本文不针对任何公司和个人,仅供大家学习交流之用)
2
2
2
3
4
4
6
6
6
6
7
7
7
7
1 由生产操作失误引起的故障
以下来自【操作人】的总结:
对于我司项目一次上线数据库误操作故障的总结:
我司相关人员在前天开过上线会议后,定于过后一天进行生产系统发布:
事情是这样的
首先呢,我先说下我司项目的上线流程:
老男孩老师评价:该公司的上线流程还是不错的,赞下,还有很多公司FTP直接上线的,不可取,堵住后门,监控好前门,是我一直给大家讲的。
话说那天测试通过后,项目上演练环境和生产都是由我【操作人】来负责:
然后我给我主管打电话了,说明了问题,他说让我别急,先保证生产服务正常运行。。。
由于我的这个误操作,开发的项目经理都疯了。。。然后立马惊动了公司技术部老总,然后老板
然后老板立马又召开紧急会议,说数据现在找不回来,后台查不到,一旦有用户投诉,免备案空间,说多少钱立马退多少钱
唉呀,我的这个脑子啊……
当天的上线取消了。。。
其实后来想我当时急着回滚是错误的,应该先问下开发的那边是否执行成功了,或者我查下进程。开发的后来也是这么给我说。
还有一点当时公司网络中断也是个事。。。网络不稳定不应该上线(那天供应商那边网络有问题,没有给及时通知)
有的会问只有一台数据库吗,问的好,我们是有主备两台数据库的,问题是在国庆假期期间机房切电源的时候,宕机了,然后启动后进主数据库找不到库了,当时那个急啊,然后就立马切换到备份的服务器上了,主的没有起,后来找到了主的为什么找不到库的原因(是因为机器启动后分区没有自动挂载上,手动挂载上后进数据库立马找到了),但由于这个时候从数据库和主的已经不同步了,就暂时用的从的,想等下次上线的时候在处理下,所以这次上线的时候就一个数据库。这是我们系统部没有做到位。
还有要说的一点就是我前面提到了演练环境,我为什么会动到了生产,事情是这样的,没有演练环境我部门也多次给领导提了,但领导不批买设备,然后就是每次演练的时候其实我动的也是生产(只是针对的这个项目没演练环境,其他的有),演练,什么是演练,表演练习嘛,肯定不能动到生产,但演练环境必须和生产一样。
最终我写了检讨书。唉,苦逼啊!
14)项目负责制,上线,日常网站出问题,开发有责任,不能只责问运维,运维是开发商,开发是住户,基础系统和网络没故障,一般来说运维就无能为力了。
1.4从操作者那得到的其他信息
SQL语句都是新表,有建表,插入,更新等语句。这样的话出问题整个数据库回滚就没必要了。
1.5给操作者的建议
老男孩 17:58:28
在不
操作者网友 17:58:37
在,还没下班呢
老男孩 17:58:48
事情过去了,好好汲取教训就好了,别难过了。
操作者网友 17:58:55
嗯,
老男孩 17:58:58
谁都会犯错,老师曾经也犯过错误。
以后亡羊补牢改正就好。
操作者网友 17:59:19
嗯,明白了,记住了
老男孩 17:59:24
操作者网友 17:59:31
在不犯这样的错了
老男孩 17:59:38
框架留给我。
操作者网友 18:00:01

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











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

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA

Innodbbufferpoolは、データをキャッシュしてページをインデックス作成することにより、ディスクI/Oを削減し、データベースのパフォーマンスを改善します。その作業原則には次のものが含まれます。1。データ読み取り:Bufferpoolのデータを読む。 2。データの書き込み:データを変更した後、bufferpoolに書き込み、定期的にディスクに更新します。 3.キャッシュ管理:LRUアルゴリズムを使用して、キャッシュページを管理します。 4.読みメカニズム:隣接するデータページを事前にロードします。 BufferPoolのサイジングと複数のインスタンスを使用することにより、データベースのパフォーマンスを最適化できます。

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

MySQLは、データストレージ、管理、分析に適した強力なオープンソースデータベース管理システムであるため、学習する価値があります。 1)MySQLは、SQLを使用してデータを操作するリレーショナルデータベースであり、構造化されたデータ管理に適しています。 2)SQL言語はMySQLと対話するための鍵であり、CRUD操作をサポートします。 3)MySQLの作業原則には、クライアント/サーバーアーキテクチャ、ストレージエンジン、クエリオプティマイザーが含まれます。 4)基本的な使用には、データベースとテーブルの作成が含まれ、高度な使用にはJoinを使用してテーブルの参加が含まれます。 5)一般的なエラーには、構文エラーと許可の問題が含まれ、デバッグスキルには、構文のチェックと説明コマンドの使用が含まれます。 6)パフォーマンスの最適化には、インデックスの使用、SQLステートメントの最適化、およびデータベースの定期的なメンテナンスが含まれます。

MySQLは、初心者がデータベーススキルを学ぶのに適しています。 1.MySQLサーバーとクライアントツールをインストールします。 2。selectなどの基本的なSQLクエリを理解します。 3。マスターデータ操作:テーブルを作成し、データを挿入、更新、削除します。 4.高度なスキルを学ぶ:サブクエリとウィンドウの関数。 5。デバッグと最適化:構文を確認し、インデックスを使用し、選択*を避け、制限を使用します。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。
