操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    IN10在運行出錯藍屏后其實都會在C盤生成一個類似日志的文件,那就是保存在“C:\Windows\minidump”文件夾中的dmp格式文件,可能有多個,因為他藍屏一次就會生成一個文件。


    1


    文件里面的信息大概記錄了以下幾個內容
    1、停止消息,其參數和其他數據2、加載的驅動程序列表3、已停止的處理器處理器上下文 (PRCB)4、進程信息和內核上下文 (EPROCESS) 為已停止的進程5、進程信息和內核上下文 (ETHREAD) 為已停止的線程6、內核模式已停止的線程的調用堆棧
    有些小伙伴可能發(fā)現(xiàn)自己電腦里面沒有這個文件夾,你莫要著急,請往下看↓↓↓↓↓↓↓↓↓↓↓↓回到桌面右鍵我的電腦\此電腦,選擇屬性進入后點擊左邊高級系統(tǒng)設置,進入后最上方選擇高級,找到啟動與故障恢復點擊設置,選擇將事件寫入系統(tǒng)日志以及調試信息里選擇小內存轉儲。敲黑板,請不會的往這里看?


    2


    3


    4


    5

    dump文件需要用專門的軟件打開,我這邊推薦使用 BlueScrennView這個軟件這邊有我整理好的中文綠色版,藍湊下載地址:https://www.lanzous.com/i83ufvc 密碼:54k5你也可以官網下載,不過你需要自己下載中文補丁。官網:https://www.nirsoft.net/utils/blue_screen_view.html
    下載后右鍵以管理員身份打開后它可以自動讀取dump文件,如果什么都沒有顯示說明你沒有這個文件上方顯示dump文件,下方默認顯示驅動(錯誤項置頂并標紅)


    6

    也可以在菜單欄 - 選項 – 顯示下方面板中選擇不同的顯示模式。比如模擬XP樣式的藍屏信息我這里的藍屏原因是因為ntoskrnl.exe驅動引起的,這是windows系統(tǒng)的一個重要內核程序,可能是因為病毒、或者c++組件引起的,接下來我就可以針對性的修復了。


    7


    有些朋友的電腦經常藍屏,但是dump文件的信息并不一樣,這時就要看看所有dump文件中是否有相同的錯誤因素,先解決這些相同的因素試試。
    很多人出現(xiàn)這樣的藍屏原因大多是軟件和系統(tǒng)沖突(比如騰訊手游助手和Windows 10 沖突),偶爾因為硬件故障(內存條最有可能)。最后,如果自行分析dump文件后依然無法確定電腦藍屏的原因,那么你可以在Microsoft社區(qū)中提問,提問時附上你的minidump文件,微軟的技術人員會幫你分析文件并給出建議。


    注:部分文件以及資料出自“電玩”,如有侵權聯(lián)系刪除。

    作者:趙黎明

    愛可生 MySQL DBA 團隊成員,Oracle 10g OCM,MySQL 5.7 OCP,擅長數據庫性能問題診斷、事務與鎖問題的分析等,負責處理客戶 MySQL 及我司自研 DMP 平臺日常運維中的問題,對開源數據庫相關技術非常感興趣。

    本文來源:原創(chuàng)投稿

    *愛可生開源社區(qū)出品,原創(chuàng)內容未經授權不得隨意使用,轉載請聯(lián)系小編并注明來源。


    本文關鍵字:升級、Windows、賬號管理


    背景

    最近有去某客戶那里支持 MySQL 實例升級,他們的實例版本比較多,有 5.5、5.6、5.7,外加各種小版本,平臺也很多,有 Linux、Windows。對于 Unix/Linux 平臺的 MySQL 版本升級,大家可能再熟悉不過了,但對于 windows 平臺的,可能接觸地較少。由于項目上有需求,自己也在 Windows 環(huán)境上測試了一把,有了些心得,想跟大家分享一些經驗,于是有了本文。這里主要是針對比較常見的 5.6 到 5.7 的升級。


    限制

    • MySQL 官方提供了 2 種介質的升級方式:一種是 MySQL Installer 的方式(需要下載 MSI 可執(zhí)行程序,進行圖形化安裝),另一種則是 noinstall zip 包的方式(就是我們熟悉的綠色軟件,解壓即用的那種,當然 MySQL 作為數據庫軟件,也沒傻瓜到那種程度,還是需要一些額外操作的),推薦使用第 2 種方式,系統(tǒng)侵入性小,方便快捷。
    • 連續(xù)大版本的升級(5.6 to 5.7)不能用 MySQL Installer,這種場景只支持 zip 方式。
    • 社區(qū)版和企業(yè)版之間,也不能用 MySQL Installer 升級,需要用 zip 方式。
    • 除了介質,升級的方法也有 2 種:一種是 IN-PLACE 方式(適用于數據量較大、小版本或連續(xù)版本的升級),另一種是邏輯方式(適用于數據量小、跨越大版本的升級)。
    • 對于大數據庫,即便是采用 IN-PLACE 方式升級,也可能會花費較長時間,因為執(zhí)行 mysql_upgrade 時,默認也會對業(yè)務表進行數據轉換和修復(這個問題在客戶那兒也遇到了,300G 左右的庫,有大量 MyISAM 表,最大的單表有 40G。修復過程其實是通過創(chuàng)建臨時表進行重建,而他們的磁盤性能又不好,跑了很久都沒有結束,后來通過 -s 參數跳過對業(yè)務表的修復)。
    • 如果是 Milestone 版和 GA 版之間的升級,也只能通過邏輯方式進行。


    環(huán)境準備

    雖然是在講升級,這里也稍微提一下 Windows 上安裝實例的方法。首先,準備一臺 Windows 主機(我這里用的是 Windows 10),去官網下載好 5.6.x,5.7.x for Windows 的 zip 包,我選擇了社區(qū)版的 5.6.30 和 5.7.30(最新 GA)的包。

    解壓完的 zip包 是這樣的,有點像 Linux 上的二進制包:


    安裝 5.6 環(huán)境

    安裝很簡單,最小化配置只需要把 my-default 參數中示例的幾個參數前的注釋符號去掉,并配置上相應的值,就可以啟動了,當然,如果是生產環(huán)境,肯定會自定義一堆參數,此處略過。

    改完后如下,然后就可以用這個參數文件去初始化實例了:

    初始化實例后,再啟動實例,接著創(chuàng)建并配置 Windows 服務,以后就可以通過啟停服務對 MySQL 實例進行管理。


    升級 5.6 至 5.7

    這里不討論詳細的升級步驟,與安裝實例其實差不多,主要說一下升級時要注意的點(本次測試采用 IN-PLACE 方式)。

    • 首次安裝完 5.7(zip 方式)后,出于安全性考慮,需要設置 skip-grant-tables 進入實例,修改 root 密碼,刪除空賬號(先執(zhí)行 flush privileges;)。
    • 服務的創(chuàng)建、刪除都要用管理員身份運行 cmd 后再執(zhí)行執(zhí)行,示例:mysqld install mysql5630 / mysqld remove mysql5630。
    • 如果啟動實例是用 mysqld --console 執(zhí)行的,會在屏幕輸出實例啟動的一些 error 日志,一旦退出這個窗口,實例就會終止(因此,建議僅在首次測試實例能否正常啟動時使用)。
    • 5.7 的 zip 包解壓后沒有 data 目錄和 my.ini 配置文件,可以將 5.6 中的 data 目錄和 my.ini 拷貝過來(拷 data 前要停實例),如果本來就已經指定在 basedir 之外的地方,也可以直接用,然后修改 5.7 配置文件的 datadir 與原來 5.6 的位置一致。
    • 如果 5.6 是 zip 安裝,5.7 也是 zip 安裝,并且 5.7 解壓到 5.6 的目錄之外,建議修改環(huán)境變量后先執(zhí)行 mysql -V,檢查其是否被正確地配置了(官方推薦解壓到同一個目錄中,這樣可以不用修改環(huán)境變量)。
    • 盡量不要使用舊版的 my.cnf,并且用 mysqld --print-defaults 檢查默認參數。
    • 升級到 5.7 后,當執(zhí)行 mysqld install mysql5730 時(添加 5.7 實例的服務),如果報找不到 dll 動態(tài)庫鏈接文件 MSVCR120.dll、MSVCP120.dll,則需要下載并安裝相應版本的的 Visual C++ 程序)。

    參考鏈接:

    https://www.groovypost.com/howto/fix-visual-c-plus-plus-redistributable-windows-10/

    https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/missing-msvcp120dll-file/f0a14d55-73f0-4a21-879e-1cbacf05e906

    各個 dll 文件對應的 Visual C++ 版本:

    安裝完以后,可以查看 dll 動態(tài)庫鏈接文件與對應 Visual C++ 版本之間的關系:

    我的環(huán)境中要正常運行 5.7.30 實例,需要安裝 Visual C++ 2012、Visual C++ 2013,之后就可以正常創(chuàng)建服務。


    升級排錯案例

    安裝完 5.7.30 實例后,創(chuàng)建并啟動 windows 服務:

    通過 SC 啟動服務后卻立即停止了:

    用 NET 命令也無法啟動,error 日志也沒有輸出:

    嘗試刪除服務再重新添加:

    此時服務還沒有被創(chuàng)建:

    通過 SC 再次啟動后,服務有了,但仍然是已停止狀態(tài):

    再次刪除服務后直接啟動 mysqld,在登錄客戶端后發(fā)現(xiàn)了端倪,原來是用 5.6.30 的 mysqld 命令啟動了:

    立即檢查 my.ini 參數,發(fā)現(xiàn)參數中果然是用了 5.6.30 的路徑:

    停止進程,修改參數并重新啟動 5.7.30 進程和服務:

    msyql5730 服務恢復正常,不會再自動停止了:

    服務端(mysqld)和客戶端(mysql)進程也運行正常:

    檢查數據庫(注意,此時仍然是沒有 sys 庫的,因為是把 5.6 的 data 目錄直接拿來啟動實例的):

    執(zhí)行 mysql_upgrade,重建系統(tǒng)庫:

    至此,完成 5.6.30 to 5.7.30 的升級(是不是 so easy?)。

    要注意,執(zhí)行完 mysql_upgrade 后需要重啟實例,否則會報以下錯誤:

    重啟實例后,可以正常使用了:


    一個有趣的登陸測試

    • 配置了 3 個 root 賬號,來源分別為 ::1,127.0.0.1',localhost。
    • 在賬號密碼都不輸入的情況下,Windows 默認會用 ODBC@localhost 這個用戶連接。
    • 在加上 -uroot 后,會優(yōu)先使用 root@'::1' 這個賬號來連接,用戶仍然使用的是 root@localhost。
    • 把 root@'::1' 賬號刪除后,會使用 root@localhost 的賬號連接。
    • 把 root@localhost 賬號也刪除后,默認不會使用 root@127.0.0.1 的賬號連接,除非指定了 -h127.0.0.1。
    • 在 Windows 中,無論是 ::1、localhost 還是 127.0.0.1,哪怕是使用 -S 進行連接,也都是 TCP/IP 連接。
    mysql> select user,host from mysql.user;
    +---------------+-------------+
    | user | host |
    +---------------+-------------+
    | root | 10.186.64.% |
    | root | 127.0.0.1 |
    | root | ::1 |
    | mysql.session | localhost |
    | mysql.sys | localhost |
    | root | localhost |
    +---------------+-------------+
    6 rows in set (0.00 sec)
    
    mysql> exit
    Bye
    C:\Users\Administrator>mysql
    ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
    
    C:\Users\Administrator>mysql -uroot
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    C:\Users\Administrator>mysql -uroot -p
    Enter password: ********
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 7
    Server version: 5.7.30-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> select current_user(),user();
    +----------------+----------------+
    | current_user() | user() |
    +----------------+----------------+
    | root@::1 | root@localhost |
    +----------------+----------------+
    1 row in set (0.00 sec)
    
    mysql> drop user root@'::1';
    Query OK, 0 rows affected (0.06 sec)
    
    mysql> exit
    Bye
    C:\Users\Administrator>mysql -uroot -p
    Enter password: ********
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 8
    Server version: 5.7.30-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> select current_user(),user();
    +----------------+----------------+
    | current_user() | user() |
    +----------------+----------------+
    | root@localhost | root@localhost |
    +----------------+----------------+
    1 row in set (0.02 sec)
    
    mysql> drop user root@localhost;
    Query OK, 0 rows affected (0.03 sec)
    
    mysql> exit
    Bye
    C:\Users\Administrator>mysql -uroot -p
    Enter password: ********
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    
    C:\Users\Administrator>mysql -uroot -p -h127.0.0.1
    Enter password: ********
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 10
    Server version: 5.7.30-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> select current_user(),user();
    +----------------+----------------+
    | current_user() | user() |
    +----------------+----------------+
    | root@127.0.0.1 | root@localhost |
    +----------------+----------------+
    1 row in set (0.00 sec)
    
    mysql> \s
    --------------
    mysql Ver 14.14 Distrib 5.7.30, for Win64 (x86_64)
    
    Connection id: 10
    Current database:
    Current user: root@localhost
    SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
    Using delimiter: ;
    Server version: 5.7.30-log MySQL Community Server (GPL)
    Protocol version: 10
    Connection: 127.0.0.1 via TCP/IP
    Server characterset: latin1
    Db characterset: latin1
    Client characterset: gbk
    Conn. characterset: gbk
    TCP port: 3306
    Uptime: 6 hours 41 min 40 sec
    
    Threads: 1 Questions: 26 Slow queries: 0 Opens: 123 Flush tables: 1 Open tables: 116 Queries per second avg: 0.001
    --------------
    
    mysql> show variables like 'socket';
    +-----------------------------------------+-------+
    | Variable_name | Value |
    +-----------------------------------------+-------+
    | socket | MySQL |
    +-----------------------------------------+-------+
    3 rows in set, 1 warning (0.01 sec)
    
    mysql> exit
    Bye
    C:\Users\Administrator>mysql -uroot -p -S MySQL
    
    Enter password: ********
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 16
    Server version: 5.7.30-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> \s
    --------------
    mysql Ver 14.14 Distrib 5.7.30, for Win64 (x86_64)
    
    Connection id: 16
    Current database:
    Current user: root@localhost
    SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
    Using delimiter: ;
    Server version: 5.7.30-log MySQL Community Server (GPL)
    Protocol version: 10
    Connection: localhost via TCP/IP
    Server characterset: latin1
    Db characterset: latin1
    Client characterset: gbk
    Conn. characterset: gbk
    TCP port: 3306
    Uptime: 7 hours 6 min 23 sec
    
    Threads: 1 Questions: 63 Slow queries: 0 Opens: 137 Flush tables: 1 Open tables: 130 Queries per second avg: 0.002
    --------------


    升級步驟匯總

    最后,再把升級的各個步驟羅列一遍:

    1. 下載 5.7.30 的 zip 包并解壓到新的目錄。

    2. 安裝 Visual C++ 2012/2013(或更多版本)。

    3. 停應用,停止 5.6 實例(可以通過停服務來操作,停止服務前建議記錄一下 GTID 或 binlog file 和 position 位置),刪除服務。

    4. 備份一份 5.6 實例的 datadir,包括 binlog(整個目錄 copy 到別的目錄存放)。

    5. 拷貝 5.6 實例的 datadir 和 my.ini 到 5.7 實例 basedir 目錄,調整并優(yōu)化參數值(注意要確保路徑一致,確認已開啟 5.7 新特性相關參數,如增強半同步、MTS 等)。

    6. 修改系統(tǒng)環(huán)境變量,把可執(zhí)行路徑指向 5.7 實例的 basedir/bin。

    7. 啟動 5.7 實例,創(chuàng)建服務并啟動。

    8. 驗證服務端、客戶端版本是否正確。

    9. 確認無誤后,執(zhí)行 mysql_upgrade 升級數據字典(會升級系統(tǒng)庫:mysql,ps,sys,沒有會重建)。

    10. 重啟實例。

    11. 再次校驗 5.7 的參數,盡量保持與 5.6 的兼容,尤其要注意 sql_mode 的默認值對業(yè)務的影響。

    12. 清理 5.6 實例的 basedir 和 datadir 目錄(可選)。

    13. 如果是主從環(huán)境,還要考慮 slave_net_timeout 參數默認值改變帶來的影響(主庫 error 日志中出現(xiàn) “ER_RPL_ZOMBIE_ENCOUNTERED” 的報錯)。

    在 5.7.7 以前,該參數默認是 3600s,之后改為了 60s,需要重新執(zhí)行 change master to 語句,并且顯式指定 master_heartbeat_period=xx,因為從 5.7.4 開始,只有執(zhí)行 reset slave 才能將其重置為默認值(slave_net_timeout 值的一半)。另外提一句,也是從 5.7.4 開始,執(zhí)行 change master to 語句時,可以不用先停止復制線程了。

    參考鏈接:

    https://dev.mysql.com/doc/refman/5.7/en/change-master-to.html

    https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html

    https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#sysvar_slave_net_timeout


    總結

    本文主要闡述了如何優(yōu)雅地通過 ZIP&IN-PLACE 方式在 Windows 服務器上將 MySQL 5.6 實例升級到 5.7。

    對 MySQL 官方提供的一些升級方式和相關限制做了說明。

    通過一個實際的升級案例來展示如何在升級過程中排查錯誤。

    演示了一個關于賬號登陸的小測試,要注意區(qū)分賬號的來源部分、current_user(),user() 之間的差別,前者是 mysql.user 表中創(chuàng)建的賬號,后者是當前操作系統(tǒng)的登錄用戶。

    最后對整個升級步驟做了總結,羅列了一些升級時的注意點。

    參考鏈接:

    https://dev.mysql.com/doc/refman/5.7/en/windows-installation.html

    https://dev.mysql.com/doc/refman/5.7/en/windows-upgrading.html

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有