已可預見MariaDB將替代MySQL

2021-08-27 13:01:10 字數 2055 閱讀 2358

遷移步驟:

1、停止正在執行的mysql服務

# systemctl stop mysqld

2、安裝mariadb及公升級工具等

# pacman -s mariadb libmariadbclient mariadb-clients

3、重啟mysql服務

# systemctl start mysqld

4、對已存在的庫進行公升級

# mysql_upgrade -p

為什麼要棄用mysql?

為什麼要棄用mysql?這其中是有典故:

mysql之父widenius先生離開了sun之後,覺得依靠sun/oracle來發展mysql實在很不靠譜,於是決定另開分支,這個分支的名字叫做mariadb。

mariadb跟mysql在絕大多數方面是相容的,對於開發者來說,幾乎感覺不到任何不同。目前mariadb是發展最快的mysql分支版本,新版本發布速度已經超過了oracle官方的mysql版本。

在oracle控制下的mysql開發,有兩個主要問題:

1. mysql核心開發團隊是封閉的,完全沒有oracle之外的成員參加。很多高手即使有心做貢獻,也沒辦法做到。

2. mysql新版本的發布速度,在oracle收購sun之後大為減緩。widenius有乙個ppt,用資料比較了收購之前和之後新版本的發布速度。有很多bugfix和新的feature,都沒有及時加入到發布版本之中。

以上這兩個問題,導致了各個大公司,都開發了自己定製的mysql版本,包括yahoo!/facebook/google/阿里巴巴+**網等等。

mysql是開源社群的資產,任何個人/組織都無權據為己有。為了依靠廣大mysql社群的力量來更快速的發展mysql,另外開分支是必須的。

mariadb特點:

mariadb基於事務的maria儲存引擎,替換了mysql的myisam儲存引擎,它使用了percona的 xtradb,innodb的變體,分支的開發者希望提供訪問即將到來的mysql 5.4 innodb效能。這個版本還包括了 primebase xt (pbxt) 和 federatedx儲存引擎。

mariadb預設的儲存引擎是aria,不是myisam。aria可以支援事務,但是預設情況下沒有開啟事務支援,因為事務支援對效能會有影響。可以通過以下語句,轉換為支援事務的aria引擎。alter tabletablenameengine=mariatransactional=1;

mariadb 是乙個採用maria儲存引擎的mysql分支版本,是由原來 mysql 的作者michael widenius創辦的公司所開發的免費開源的資料庫伺服器。

這個專案的更多的**都改編於 mysql 6.0,例如 「pool of threads」功能提供解決多資料連線問題。

與 mysql 相比較,mariadb 更強的地方在於:

[list]

[*]maria儲存引擎pbxt 儲存引擎

[*]xtradb儲存引擎

[*]federatedx儲存引擎

[*]更快的複製查詢處理

[*]執行緒池

[*]更少的警告和bug

[*]執行速度更快

[*]更多的 extensions (more index parts, new startup options etc)

[*]更好的功能測試

[*]資料表消除

[*]慢查詢日誌的擴充套件統計

[*]支援對 unicode 的排序

[/list]

相對於mysql最新的版本5.6來說,在效能、功能、管理、nosql擴充套件方面,mariadb包含了更豐富的特性。。比如微秒的支援、執行緒池、子查詢優化、組提交、進度報告等。

需要注意的是:

mariadb預設情況下比mysql需要更多的記憶體,因為預設情況下需要啟用aria儲存引擎處理內部臨時表。如果需要mariadb使用很少的記憶體(這是以犧牲效能為代價的),可以設定aria_pagecache_buffer_size的值為 1m(預設值為128m)。

服務機械人 可預見的未來

機械人的發展從無到有,從低階到高階,隨著科學技術的進步而不斷深入發展。而服務機械人的未來是朝智慧型化,情感化發展,最後達到人機共存的社會。據行業相關資料顯示,全球專業服務機械人201 年總銷量為 1 萬台,與201 年的4.11萬台相比上公升了 5 總銷售額為 億美元,同比上公升 而在個人 家庭服務...

解決MariaDB無密碼 可登入

官方對此的解釋為 即通過系統認出是root直接認證,但是如果想換成必須用密碼就需要改了這個模式 select user,plugin from user 結果如果為 unix socket 就需要修改模式 按照官網的說明修改就行 alter user root localhost identifie...

GitHub GraphQL API已正式可用

github graphql api目前正式可用。infoq採訪了github的高階工程經理kyle daigle。github在去年的github universe大會上發布了graphql,旨在為github api新增更多的靈活性。graphql最主要的優勢在於定義資料需求的能力,有可能使用單...