显示标签为“MariaDB”的博文。显示所有博文
显示标签为“MariaDB”的博文。显示所有博文

2018年5月24日星期四

代理MySQL :: HAproxy || ProxySQL&KeepAlived

所以当涉及到路由你的MySQL流量时,存在几个选项。 

现在我已经看到HAproxy更经常地与客户使用,这是非常简单的设置。 Percona为那些感兴趣的人提供了一个例子:

我个人喜欢ProxySQL。 Percona也很少有这方面的博客
Percona也有ProxySQL版本可用

我想我会写一些例子,但是整个Percona已经很好地解释了这一点。 我不想从这些帖子中拿走任何东西,而是指出通过这些网址可以获得很多好的信息。 因此,我不会重写已写入的内容,而会为感兴趣的人创建一组信息。

首先比较并决定你自己需要和想要什么。 当然,下面的链接会偏向ProxySQL,但它给你一个全面的范围供你考虑。
如果您拥有一个群集或主控要掌握,并且您不关心写vs vs读取到哪个服务器,只要您有连接; 那么HAproxy可能是一个简单的快速设置。

ProxySQL的优势在于能够以加权的方式对流量进行分类,简单易行。 所以你可以写入节点1,并从节点2和节点3选择拉。有关这方面的文档可以在这里找到:
是的,它可以通过HAproxy完成,但您必须相应地指导应用程序。
这是根据您的查询规则在ProxySQL中处理的。

现在显而易见的问题是:好的,那么如何让ProxySQL不会成为单点故障?

你可以投资是一个强大的负载平衡器等等等等......抛硬件......或者让自己容易,支持开源并使用KeepAlive d。 这是非常容易设置,所有这些都记录在这里:
如果你曾经处理lua和mysql-proxy ,ProxySQL和Keepalived应该对你来说非常简单。 如果您仍然希望出于某种原因: https : //launchpad.net/mysql-proxy

无论您选择HAproxy,ProxySQL还是其他解决方案,您都需要确保一旦发生单点故障而不会更换另一个故障点,并且keepalived非常适合。 如果你正在使用代理,那么没有这么做的理由是没有的。

所以ProxySQL上还有更多的东西。




2014年1月4日星期六

辛勤工作,被忽視....

Originally posted: http://anothermysqldba.blogspot.com/2014/01/hard-work-that-goes-unnoticed.html

我今天花了一點時間,並更新了我的Linux發行版之一。 在這種分配我碰巧有Percona的5.6安裝為MySQL數據庫。 我之前如何設置你的選擇都提到的MySQL通過yum軟件庫

在這裡我想說的是,雖然,我們怎麼永遠感謝這些人對他們做的工作?

許多這些存儲庫是由公司經營和這些人得到報酬為他們做什麼。 然而,通過Linux(包括Debian / Ubuntu的)社會調查的和一般的觀察/問題,大多數人都不會升級,直到它可在它們的分佈。 我碰巧是一個誰願意留在安全性和bug修復頂部,所以我有yum的存儲庫從源更新盡可能多地。

我的觀點是,大量的工作進入這些文件的包裝分發和在大多數情況下,它看起來像一個漂亮的吃力不討好的工作。 我記得tar和gzip的舊的(不老但舊)天,當你不得不去挖掘和發現依賴自己。 - 。/ configure的.. 都能跟得上需要別的東西去下載並安裝然後再試一次.....

我剛剛升級25個不同的包在幾分鐘,這將之前已經採取了一些時間。 雖然百勝和APT得到的是新遠,我聽起來像一個舊的計時器在這裡,我只是認為這可能是不錯的說感謝,向所有誰在幕後工作,使我們所有的Linux經驗的人,更遑論有關MySQL的安裝,更方便,更流暢。

我將指出,甲骨文確實有5.6包現已推出。


我記得我以前的帖子提到它是如何不在場。

2013年11月30日星期六

從社區的戰略

Original post: http://anothermysqldba.blogspot.com/2013/11/a-strategy-from-community.html

我們已經看到了關於MariaDB的了Fedora,SUSE和Red Hat取代MySQL的消息。

而Oracle也不會高興這樣的消息,開源社區支持的重點放在一個“更多”開源落實到Linux解決方案。

有趣的事情,我們都可能在看的是,該決定或戰略,以從MySQL遷移到MariaDB的很可能不只是由上層管理紅帽。 這是更可能是來自開源社區的運動紅帽評估,他們聽。

考慮這一點,回頭一看在成龍Yeaney的( @ jackieyeaney )發布有關“ 民主化的企業戰略過程在紅帽 “(發布2011年11月10日),並學習如何帽子紅的作品。 我們利用現有網絡在開源社區,以”保持頭腦開放“和社交的想法紅帽之外。” 社會希望開放性和結果是轉會到MariaDB的紅帽,是關係到紅帽的開放戰略,在我的愚見很可能是肯定的。

吉姆·懷特赫斯特@ JWhitehurst )出現擁抱,因為金融收益的不只是開源社區它獎勵的公司,但也因為它是如何徹底改變了他們的工作,作出戰略決策,並從別人那裡索取輸入:“只要眼球足夠多,所有的bug很淺。“

花點時間與去年語句到MySQL。 如果你遵循的MySQL,那麼你也知道,甲骨文關閉(或有少開版了)的bugs.mysql.com網站。 雖然甲骨文有自己的企業的推理是,開源社區遵循“只要眼球足夠多,所有的錯誤都是淺。”

隨著MariaDB的成長,變得更加嵌入到Linux發行版作為默認數據庫的相關bug跟踪將是開放的,這將是有趣的,看看蟲子從長遠來看分成了瑪麗亞和MySQL。

所以,現在.. 有趣的方面是,而MySQL的過企業,由甲骨文擁有的社區版本,此舉仍然發生,因為MariaDB的的。 Oracle還擁有Java和相關的OpenJDK。 雖然我只是問這個作為一個局外人看著英寸.. 如果Java / OpenJDK的是跨足不是由甲骨文擁有的其他軟件包的話,我們很快就會看到一個替代的Java / OpenJDK的紅帽呢? 再次我是一個局外人Java世界,所以我只是問,因為相似的,它代表與MySQL。

2013年11月19日星期二

MariaDB的Linux發行版

Original post: http://anothermysqldba.blogspot.com/2013/11/mariadb-linux-distributions.html

所以現在很多人已經看過有關谷歌的消息,SUSE和Red Hat / Fedora的移動MariaDB的代替MySQL作為默認的數據庫。

MariaDB的SkySQL已經取得了非常富有成效的企業移動今年。 這究竟是什麼意思為MySQL社會各界和廣大開源社區?

對於初學者回想起什麼取得如此受歡迎的MySQL? 這是現成的所有頂級的Linux發行版。

openSUSE和Fedora的已經轉移到MariaDB的,所以推一個開放源碼的集中運動已經開始。 經過RHEL遷移MariaDB的默認數據庫,然後也意味著,很快就會有CentOS的默認數據庫MariaDB的。

可能很快跟進,將是Ubuntu和Debian的舉動。 我可能已經錯過了一個移動的消息了,但是我不這麼認為。

所有這一切都是大新聞和MariaDB的移動和開源社區的。 MariaDB的自然會開始看到更多的用戶接受和使用。 雖然甲骨文的MySQL仍然是一個開源軟件包大問題一直bugs.mysql.com的的網站,並跟踪mysql用戶的錯誤。 人們很快將開始跟踪更多MariaDB的錯誤呢?

MariaDB的也有開源的特點,模仿甲骨文的MySQL企業唯一的解決辦法。 因此,許多用戶會自然地拿起那些功能。

儘管甲骨文正在建設強大的功能和代碼,但在社會上有多少正在? MySQL 5.1中被大量使用,在社會上使用的Linux發行版,許多用戶可能只知道MySQL 5.1和5.5 MariaDB的這麼快。

接下來會發生什麼?
甲骨文決定做什麼仍是有待觀察。 甲骨文已經採取的Red Hat Linux建立自己的Oracle的Linux(OEL)。 所以,具有諷刺意味的MariaDB的分叉,這是從甲骨文的MySQL,將Red Hat Linux中為Oracle移除他們的OEL。 甲骨文將反擊以某種方式與Java?

Percona的怎麼辦? Percona的也是一個球員在這方面和有MariaDB的和甲骨文多年來互相尊重的關係。 當然,Percona的確實偏向了開源方面的東西,所以會好奇,看是否出現的任何舉動Percona的一部分。 MariaDB的功能,即將成為專注於更多的工具?

MariaDB的做什麼? 那麼, MariaDB的錯誤數據庫中的錯誤監測的增長率會幫助多少人開始採取MariaDB的。
瑪麗亞在一些點脫離MySQL的源代碼更新,並繼續構建社區和他們的工程師?

那麼接下來會發生什麼? 我們不知道。 它是由開源社區。 很多憤怒的聲音已經直指甲骨文多年來。 那些聲音那麼,如何才能改變或MariaDB的顯示支持,將很快可以看到。 他們許多人可能已經MariaDB的支持,它是採用的群眾,將顯示如何MariaDB的問候到MySQL。 許多公司都知道的名稱以及將MySQL猶豫移動到MariaDB的(這只是發生在我身上的一天。)。 因此,MariaDB的工作還沒有完成。
然而,這畢竟... 甲骨文,紅帽和谷歌仍然走到了一起,來幫助我們的政府

2013年9月25日星期三

MySQL的:YUM回購(甲骨文,MariaDB的和Percona的)

Original post: http://anothermysqldba.blogspot.com/2013/09/mysql-yum-repo-oracles-mariadb-and.html

今天,許多人寧願例如從MySQL下載最新的RPM安裝相關軟件時,堅持用yum包管理器。

雖然可以從供應商處下載RPMS使用yum安裝(yum安裝*。轉)你也可以更新您的yum軟件庫直接拉向賣方MySQL的包。 在這篇文章的時候,你只會得到你即使到MySQL 5.5.13的MySQL 5.6 GA發布2013年2月5日通過Oracle回購。 MariaDB的MariaDB的公佈,33年5月5日,我希望甲骨文將獲得移動和更新他們的公共回購。

無論你選擇什麼。 下面是如何建立供應商的回購協議,這樣你就可以訪問你想什麼。

所有實例是容易遵循,並設立網頁,我已經列出。 我會先走,並把例子。

這些例子中,我將使用CentOS 6的64位。

在所有的情況下,您將yum.repos.d目錄為根。
CD的/ etc / yum.repos.d


http://public-yum.oracle.com
wget的https://public-yum.oracle.com/public-yum-ol6.repo的
#VI公共yum的ol6.repo
找到以下和編輯啟用從0到1,然後保存文件。




[ol6_MySQL]
名稱=的Oracle Linux 6中的MySQL($ basearch)
BASEURL = http://public-yum.oracle.com/repo/OracleLinux/OL6/MySQL/ $ basearch /
gpgkey =文件:/ /的/ etc / PKI / RPM-GPG / RPM-GPG-KEY-ORACLE
gpgcheck = 1
啟用= 1

yum list | grep MySQL
mysql.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-devel.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-embedded.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-embedded-devel.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-libs.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-libs-compat.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-server.x86_64 5.5.34-1.el6 ol6_MySQL
mysql-test.x86_64 5.5.34-1.el6 ol6_MySQL


https://downloads.mariadb.org/mariadb/repositories/
vi MariaDB.repo的






MariaDB的為您提供的選擇來接5.5或10,我用5.5這個例子。


# MariaDB 5.5 CentOS repository list - created 2013-09-24 21:59 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1



MariaDB-Galera-server.x86_64 5.5.32-1 mariadb
MariaDB-client.x86_64 5.5.33a-1 mariadb
MariaDB-common.x86_64 5.5.33a-1 mariadb
MariaDB-compat.x86_64 5.5.33a-1 mariadb
MariaDB-devel.x86_64 5.5.33a-1 mariadb
MariaDB-server.x86_64 5.5.33a-1 mariadb
MariaDB-shared.x86_64 5.5.33a-1 mariadb
MariaDB-test.x86_64 5.5.33a-1 mariadb
galera.x86_64 23.2.6-1.rhel6 mariadb



http://www.percona.com/doc/percona-server/5.5/installation/yum_repo.html
vi Percona.repo的

[percona]
name = CentOS $releasever - Percona
baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/
enabled = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-percona
gpgcheck = 1


percona-toolkit.noarch 2.2.4-1 @/percona-toolkit-2.2.4-1.noarch
percona-xtrabackup.x86_64 2.1.3-608.rhel6 @/percona-xtrabackup-2.1.3-608.rhel6.x86_64
Percona-SQL-50-debuginfo.x86_64 5.0.92-b23.89.rhel6 percona
Percona-SQL-client-50.x86_64 5.0.92-b23.89.rhel6 percona
Percona-SQL-devel-50.x86_64 5.0.92-b23.89.rhel6 percona
Percona-SQL-server-50.x86_64 5.0.92-b23.89.rhel6 percona
Percona-SQL-shared-50.x86_64 5.0.92-b23.89.rhel6 percona
Percona-SQL-shared-compat.x86_64 5.0.92-b23.89.rhel6 percona
Percona-SQL-test-50.x86_64 5.0.92-b23.89.rhel6 percona
Percona-Server-51-debuginfo.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-55-debuginfo.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-56-debuginfo.x86_64 5.6.13-rc60.6.427.rhel6 percona
Percona-Server-client-51.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-client-55.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-client-56.x86_64 5.6.13-rc60.6.427.rhel6 percona
Percona-Server-devel-51.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-devel-55.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-devel-56.x86_64 5.6.13-rc60.6.427.rhel6 percona
Percona-Server-server-51.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-server-55.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-server-56.x86_64 5.6.13-rc60.6.427.rhel6 percona
Percona-Server-shared-51.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-shared-55.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-shared-56.x86_64 5.6.13-rc60.6.427.rhel6 percona
Percona-Server-shared-compat.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-shared-compat-51.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-test-51.x86_64 5.1.71-rel14.9.589.rhel6 percona
Percona-Server-test-55.x86_64 5.5.33-rel31.1.566.rhel6 percona
Percona-Server-test-56.x86_64 5.6.13-rc60.6.427.rhel6 percona
Percona-XtraDB-Cluster-client.x86_64 1:5.5.33-23.7.6.495.rhel6 percona
Percona-XtraDB-Cluster-debuginfo.x86_64 1:5.5.33-23.7.6.495.rhel6 percona
Percona-XtraDB-Cluster-devel.x86_64 1:5.5.33-23.7.6.495.rhel6 percona
Percona-XtraDB-Cluster-galera.x86_64 2.7-1.157.rhel6 percona
2.7-1.157.rhel6 percona
Percona-XtraDB-Cluster-server.x86_64 1:5.5.33-23.7.6.495.rhel6 percona
Percona-XtraDB-Cluster-shared.x86_64 1:5.5.33-23.7.6.495.rhel6 percona
Percona-XtraDB-Cluster-test.x86_64 1:5.5.33-23.7.6.495.rhel6 percona
jemalloc.x86_64 3.3.1-1.el6 percona
jemalloc-devel.x86_64 3.3.1-1.el6 percona
percona-cacti-templates.noarch 1.0.4-1 percona
percona-nagios-plugins.noarch 1.0.4-1 percona
percona-playback.x86_64 0.6-2.el6 percona
percona-playback-debuginfo.x86_64 0.6-2.el6 percona
percona-playback-devel.x86_64 0.6-2.el6 percona
percona-xtrabackup.x86_64 2.1.5-680.rhel6 percona
percona-xtrabackup-20.x86_64 2.0.8-587.rhel6 percona
percona-xtrabackup-20-debuginfo.x86_64 2.0.8-587.rhel6 percona
percona-xtrabackup-20-test.x86_64 2.0.8-587.rhel6 percona
percona-xtrabackup-test.x86_64 2.1.5-680.rhel6 percona
qpress.x86_64 11-1.el6 percona
qpress-debuginfo.x86_64 11-1.el6 percona

 
希望這將有助於你能夠超越中可能會有什麼標準回購此刻得到更新。

2013年6月14日星期五

max_binlog_cache_size

Original post: http://anothermysqldba.blogspot.com/2013/06/maxbinlogcachesize.html

當你評估你的數據庫的性能和穩定性,它很可能你會開始檢討變量。

在看下面的變量是典型的第一反應.. 等待,什麼是錯的,我的盒子沒有那麼多內存或磁盤空間,以滿足下面列出的最大限制......

MariaDB [(none)]> select @@max_write_lock_count, @@max_binlog_cache_size, @@max_seeks_for_key, @@myisam_max_sort_file_size\G
*************************** 1. row ***************************
@@max_write_lock_count: 4294967295                     -- 4 GB
@@max_binlog_cache_size: 1844674407370954752          --1.6 EB
@@max_seeks_for_key: 429496729                         -- 4 GB
@@myisam_max_sort_file_size: 9223372036853727232        --8 EB 


你並不孤單,在關注這些變量關於這些變量的已上市多年來的一些錯誤。 下面是一些遺留的只是一小部分。


“ MySQL目前不能使用大於4GB的二進制日誌的位置 。“
請記住,這些只是默認和MAX設置。 你可以調整他們讓你感覺更舒服。

MariaDB [(none)]> SET GLOBAL max_binlog_cache_size = 4294967296;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> SELECT @@max_binlog_cache_size;
+-------------------------+
| @@max_binlog_cache_size |
+-------------------------+
| 4294967296 | -- 4GB
+-------------------------+
1 row in set (0.00 sec) 


為什麼你會要... 這是一個完全不同的話題。 這只是允許的上限和交易取得分割為4GB反正。 的最大建議值是4GB “,使您可以更新它,如果你選擇太。

閱讀更多關於選項在MySQL文檔: 


2013年6月13日星期四

MariaDB的10.0.3 Alpha安裝在Fedora 17 x86_64的

Original post: http://anothermysqldba.blogspot.com/2013/06/mariadb-1003-alpha-install-on-fedora-17.html

,MariaDB的10.0.3阿爾法剛剛發布。
因此,對於那些你還記得我以前MariaDB的5.5安裝後,我決定看看它是如何工作10.0.3。

我喜歡的一些功能MariaDB的Percona的版本的進入。 即使你是一個大支持者,當MySQL的特點是可以在這些版本不移植到MySQL版本的數據庫管理員必須檢討自己的選擇,並做出選擇。

因此,安裝......

正如我之前所說,從以前的帖子,我有這個安裝。 所以我只是先升級。

[root@Fedora64 10]# rpm -qa | grep maria
mariadb-5.5.31-1.fc17.x86_64
mariadb-server-5.5.31-1.fc17.x86_64
mariadb-libs-5.5.31-1.fc17.x86_64
mariadb-bench-5.5.31-1.fc17.x86_64
mariadb-devel-5.5.31-1.fc17.x86_64

SO封裝在開始發生衝突。

MariaDB-10.0.3-fedora17-x86_64-client.rpm
MariaDB-10.0.3-fedora17-x86_64-common.rpm
MariaDB-10.0.3-fedora17-x86_64-compat.rpm
MariaDB-10.0.3-fedora17-x86_64-connect-engine.rpm
MariaDB-10.0.3-fedora17-x86_64-devel.rpm
MariaDB-10.0.3-fedora17-x86_64-server.rpm
MariaDB-10.0.3-fedora17-x86_64-shared.rpm
MariaDB-10.0.3-fedora17-x86_64-test.rpm

[root@Fedora64 10]# rpm -Uhv *.rpm
warning: MariaDB-10.0.3-fedora17-x86_64-client.rpm: Header V3 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
error: Failed dependencies:
libodbc.so.2()(64bit) is needed by MariaDB-connect-engine-10.0.3-1.x86_64
MySQL-devel conflicts with (installed) mariadb-devel-5.5.31-1.fc17.x86_64  


MariaDB-server-10.0.3-1.x86_64 conflicts with file from package mariadb-server-5.5.31-1.fc17.x86_64
[root@Fedora64 10]#


所以這只是一個VirtualBox的實例,用於演示和評估,所以我只是刪除了所有我能不得不卸載。 我希望升級工作,但仍然是阿爾法代碼。
即:

[root@Fedora64 10]# rpm -e mariadb mariadb-server mariadb-bench
[root@Fedora64 10]# rpm -e mariadb-libs perl-DBD-MySQL percona-xtrabackup


所以,現在,過去被清除出...

[root@Fedora64 10]# rpm -ihv *.rpm
Preparing... ########################################### [100%]
1:MariaDB-common ########################################### [ 11%]
2:MariaDB-server ########################################### [ 22%]
3:MariaDB-cassandra-engin########################################### [ 33%]
4:MariaDB-client ########################################### [ 44%]
5:MariaDB-devel ########################################### [ 56%]
6:MariaDB-shared ########################################### [ 67%]
7:MariaDB-test ########################################### [ 78%]
8:MariaDB-compat ########################################### [ 89%]
9:galera ########################################### [100%]


如果你還記得過去 ,我得到了init.d腳本這個時候..

[root@Fedora64 10]# /etc/init.d/mysql start
Starting MySQL..... SUCCESS!
[root@Fedora64 10]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.0.3-MariaDB MariaDB Server


如果他們是不可怕的表現,然後我不明白為什麼這些是不是在默認情況下:

vi /etc/my.cnf
[mysqld]

userstat=1
# http://www.percona.com/doc/percona-server/5.5/diagnostics/user_stats.html?id=percona-server:features:userstatv2
# https://kb.askmonty.org/en/user-statistics/
feedback=ON
# https://kb.askmonty.org/en/user-feedback-plugin/
MariaDB [(none)]> show variables like '%feedback%';
+--------------------------+------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------+
| feedback_send_retry_wait | 60 |
| feedback_send_timeout | 60 |
...
| feedback_url | https://mariadb.org/feedback_plugin/post |
| feedback_user_info | |
+--------------------------+------------------------------------------+

MariaDB [(none)]> show variables like '%userstat%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| userstat | ON |
+---------------+-------+



問題我安裝後發現30秒,...:

MariaDB [(none)]> show variables;
ERROR 1946 (HY000): Failed to load replication slave GTID position from table mysql.gtid_slave_pos


這是迄今為止... 我安裝了它,現在可以查看...

更新: 
我已提交了一個錯誤 。 MariaDB的團隊得到了右後衛給我,指出我無法運行mysql_upgrade並重新啟動。 固定上面列出的錯誤。 仍存變數感覺像它應該顯示它的一切,但我的一部分,這是一個有效的修復和錯誤。 謝謝MariaDB的團隊。 

要了解更多信息:

2013年6月9日星期日

百勝安裝MariaDB的/ MySQL的災難,但固定的

Original post: http://anothermysqldba.blogspot.com/2013/06/yum-install-mariadbmysql-disaster-but.html

因此,這應該是一個簡單的MariaDB的/ MySQL的安裝。 我不認為這是一個瑪利亞問題,但只是一個整體的錯誤。 這裡是發生了什麼事,我怎麼固定它。

yum安裝MariaDB的服務器
然後我說休息,有什麼你看到下面。

[root@Fedora64 log]# rpm -qa | grep maria
mariadb-5.5.31-1.fc17.x86_64
mariadb-server-5.5.31-1.fc17.x86_64
mariadb-libs-5.5.31-1.fc17.x86_64
mariadb-devel-5.5.31-1.fc17.x86_64
我認為這是奇怪的是,我沒有得到一個/ etc / init.d / mysql下的文件,但我用它去,我想看看發生了什麼事。

[root@Fedora64 log]# mysqld_safe
130608 19:54:36 mysqld_safe Logging to '/var/log/mysqld.log'.
130608 19:54:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
130608 19:54:39 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

130608 19:54:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
130608 19:54:37 InnoDB: The InnoDB memory heap is disabled
130608 19:54:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130608 19:54:37 InnoDB: Compressed tables use zlib 1.2.5
130608 19:54:37 InnoDB: Using Linux native AIO
130608 19:54:37 InnoDB: Initializing buffer pool, size = 128.0M
130608 19:54:37 InnoDB: Completed initialization of buffer pool
130608 19:54:37 InnoDB: highest supported file format is Barracuda.
130608 19:54:38 InnoDB: Waiting for the background threads to start
130608 19:54:39 Percona XtraDB (http://www.percona.com) 5.5.31-MariaDB-30.2 started; log sequence number 1597945
130608 19:54:39 [Note] Plugin 'FEEDBACK' is disabled.
130608 19:54:39 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130608 19:54:39 [Note] Server socket created on IP: '0.0.0.0'.
130608 19:54:39 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
130608 19:54:39 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
哇... 第一次運行和失敗是不是一個好兆頭。 這是一個全新的安裝mysql目錄應該已經安裝。 於是我開始與 - 跳過批表,這樣我就可以進入禁區,環顧四周。

[root@Fedora64 mysql]# ls -la
total 28700
drwxr-xr-x. 2 mysql mysql 4096 Jun 8 19:58 .
drwxr-xr-x. 43 root root 4096 Jun 8 19:41 ..
-rw-rw----. 1 mysql mysql 16384 Jun 8 19:50 aria_log.00000001
-rw-rw----. 1 mysql mysql 52 Jun 8 19:50 aria_log_control
-rw-rw----. 1 mysql mysql 18874368 Jun 8 19:50 ibdata1
-rw-rw----. 1 mysql mysql 5242880 Jun 8 19:58 ib_logfile0
-rw-rw----. 1 mysql mysql 5242880 Jun 8 19:45 ib_logfile1
[root@Fedora64 mysql]#

[root@Fedora64 mysql]# mysqld_safe --skip-grant-tables
130608 20:02:45 mysqld_safe Logging to '/var/log/mysqld.log'.
130608 20:02:45 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

確定開始... 不運行,但仍然是一個主要的問題仍然沒有mysql表!

[root@Fedora64 /]# mysql_upgrade
Phase 1/3: Fixing table and database names
Phase 2/3: Checking and upgrading tables
Processing databases
information_schema
Phase 3/3: Running 'mysql_fix_privilege_tables'...
ERROR 1049 (42000): Unknown database 'mysql'
FATAL ERROR: Upgrade failed
這仍然可以被固定....
[root@Fedora64 /]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.31-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.01 sec)

MariaDB [(none)]> create database mysql ;
Query OK, 1 row affected (0.13 sec)

MariaDB [(none)]> exit
Bye
OK,現在它有一個mysql表,我應該能夠把它升級
[root@Fedora64 /]# mysql_upgrade
Phase 1/3: Fixing table and database names
Phase 2/3: Checking and upgrading tables
Processing databases
information_schema
mysql
Phase 3/3: Running 'mysql_fix_privilege_tables'...
OK
[root@Fedora64 /]#

確定,所以我停止mysqld和啟動它而沒有 - 跳補助畢竟剛安裝了它,我還沒有設置密碼。

[root@Fedora64 mysql]# mysqld_safe
[root@Fedora64 /]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


好了,所以讓我再試一次......


[root@Fedora64 mysql]# mysqld_safe --skip-grant-tables

MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.01 sec)

MariaDB [mysql]> select * from user;
Empty set (0.00 sec)

MariaDB [(none)]> create user root ;
我不能使用下面的命令,因為啟用 - 跳批表。
建立用戶根確定“;

所以現在我有一個root用戶只能通過名字,因為它具有零權限。

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)
所以我要再次入禁區 - 啟用跳過批表,更新根帳戶

UPDATE user
SET Select_priv = 'Y',
Insert_priv='Y',
Update_priv='Y',
Delete_priv='Y',
Create_priv='Y',
Drop_priv='Y',
Reload_priv='Y',
Shutdown_priv='Y',
Process_priv='Y',
File_priv='Y',
Grant_priv='Y',
References_priv='Y',
Index_priv='Y',
Alter_priv='Y',
Show_db_priv='Y',
Super_priv='Y',
Create_tmp_table_priv='Y',
Lock_tables_priv='Y',
Execute_priv='Y',
Repl_slave_priv='Y',
Repl_client_priv='Y',
Create_view_priv='Y',
Show_view_priv='Y',
Create_routine_priv='Y',
Alter_routine_priv='Y',
Create_user_priv='Y',
Event_priv='Y',
Trigger_priv='Y',
Create_tablespace_priv='Y'
WHERE user = 'root';


現在不重新啟動 - 啟用跳過發放表,我作為root!

[root@Fedora64 /]# ps -ef | grep mysql
root 4522 1513 0 20:26 pts/0 00:00:00 /bin/sh /bin/mysqld_safe
mysql 4650 4522 0 20:27 pts/0 00:00:03 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root 8348 3178 0 20:47 pts/1 00:00:00 grep --color=auto mysql
[root@Fedora64 /]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.31-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>


噢。 這是一個例子,如何解決它,當事情出錯,但我還是想在/ etc / init.d / mysql下的文件



2013年5月30日星期四

MySQL 4.1中 - 請升級



經常有人問一個MySQL DBA,以幫助各種版本的MySQL。 

SELECT VERSION();
+----------------+
| VERSION() |
+----------------+
| 4.1.18-classic |
+----------------+ 
不過,我求求你... 評估你的選擇和升級。

MySQL已經取得了眾多的安全更新更不用說性能更新的問題。 檢查你的MySQL版本。 如果是一個不低於5.569年5月1日在一個大的彈力請升級。

雖然你可能會考慮你的數據庫的“工作”,可用於升級,當它打破...... 這將需要一些工作... 是。 從長遠來看它會為您節省.. 是。 你會得到更多您的系統... 是的...... 你可以利用固定的錯誤... 是。 你願意成為一個安全漏洞的“破”?

停止想了一會兒,你會說什麼的CEO,當CEO問你為什麼要砍死?

看看您的系統免受已知的安全 漏洞:

4.1


採取的所有新版本的優勢:

2013年5月14日星期二

MariaDB的10.0.2檢查

Original post: http://anothermysqldba.blogspot.com/2013/05/checking-out-mariadb-1002.html


我下載了MariaDB的10.0.2源碼包,並做了一個自定義安裝。 我這樣做是因為以前的帖子 ,我有2個已建成的主人。 這一次,我刪除的圓形複製他們指出這MariaDB的安裝。 我使用的端口3310。 剛才投入MariaDB的10.0.2文件夾相同的安裝配置的例子,從以前的帖子會在這裡適用。我在這篇文章的底部增加了安裝,以防萬一,你想要它。

我之所以這樣做是因為我想檢查出的最新MariaDB的功能主要有以下幾種:
多源複製

確保你有不同的IDS服務器設置每台服務器開始。

剛開始,所以沒有在這裡應該預期
> select @@default_master_connection;
+-----------------------------+
| @@default_master_connection |
+-----------------------------+
| |
+-----------------------------+ 

因此,收集信息,從主服務器
> show master status\G
*************************** 1. row ***************************
File: percona_mysql-bin.000005
Position: 107 


現在更新MariaDB的10.0.2從
SET @@default_master_connection='percona';

CHANGE MASTER 'percona' TO MASTER_HOST = '127.0.0.1',
MASTER_USER = 'root',
MASTER_PASSWORD = '',
MASTER_PORT = 3307 ,
MASTER_LOG_FILE = 'percona_mysql-bin.000005',
MASTER_LOG_POS = 107 



> select @@default_master_connection;
+-----------------------------+
| @@default_master_connection |
+-----------------------------+
| percona |
+-----------------------------+

OK現在讓我加第二個主
SET @@default_master_connection='oracle';

CHANGE MASTER 'oracle' TO MASTER_HOST = '127.0.0.1',
MASTER_USER = 'root',
MASTER_PASSWORD = '',
MASTER_PORT = 3309 ,
MASTER_LOG_FILE = 'oracle_mysql-bin.000009',
MASTER_LOG_POS = 5453 


接下來,您可以檢查狀態,以確保兩個設定都設了。
>SHOW ALL SLAVES STATUS\G

*************************** 1. row ***************************
Connection_name: oracle
Slave_SQL_State:
Slave_IO_State:
Master_Host: 127.0.0.1
Master_User: root
Master_Port: 3309
Connect_Retry: 60
Master_Log_File: oracle_mysql-bin.000009
Read_Master_Log_Pos: 5453
Relay_Log_File: relay-bin-oracle.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: oracle_mysql-bin.000009
Slave_IO_Running: No
Slave_SQL_Running: No
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 5453
Relay_Log_Space: 248
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
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: 0
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: 0
Retried_transactions: 0
Max_relay_log_size: 1073741824
Executed_log_entries: 0
Slave_received_heartbeats: 0
Slave_heartbeat_period: 1800.000
Gtid_Pos:
*************************** 2. row ***************************
Connection_name: percona
Slave_SQL_State:
Slave_IO_State:
Master_Host: 127.0.0.1
Master_User: root
Master_Port: 3307
Connect_Retry: 60
Master_Log_File: percona_mysql-bin.000005
Read_Master_Log_Pos: 107
Relay_Log_File: relay-bin-percona.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: percona_mysql-bin.000005
Slave_IO_Running: No
Slave_SQL_Running: No
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 107
Relay_Log_Space: 248
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
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: 0
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: 0
Retried_transactions: 0
Max_relay_log_size: 1073741824
Executed_log_entries: 0
Slave_received_heartbeats: 0
Slave_heartbeat_period: 1800.000
Gtid_Pos: 

確定的時間開始

> START ALL SLAVES;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

root@localhost [(none)]> show warnings;
+-------+------+-------------------------+
| Level | Code | Message |
+-------+------+-------------------------+
| Note | 1937 | SLAVE 'percona' started |
| Note | 1937 | SLAVE 'oracle' started |
+-------+------+-------------------------+ 



Relay_Master_Log_File: percona_mysql-bin.000005
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Relay_Master_Log_File: oracle_mysql-bin.000009
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


因此,讓我們測試一些情況。

通過Percona的主
use test;
CREATE TABLE `multi_test` (
`time_recorded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB; 

MariaDB的奴隸
> show tables;
+----------------+
| Tables_in_test |
+----------------+
| multi_test |
+----------------+ 

通過Oracle MySQL主
use test;
CREATE TABLE `multi_test2` (
`time_recorded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB; 

MariaDB的奴隸
> show tables;
+----------------+
| Tables_in_test |
+----------------+
| multi_test |
| multi_test2 |
+----------------+ 

確定工作!


SHOW解釋
這是相當直線前進,但因為它是運行很高興趕上查詢,。
> show explain for 17;
+------+-------------+--------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+--------+-------+---------------+---------+---------+------+------+-------------+
| 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 99 | Using where |
+------+-------------+--------+-------+---------------+---------+---------+------+------+-------------+
1 row in set, 1 warning (0.00 sec)

root@localhost [test]> show warnings;
+-------+------+----------------------------------------------------------+
| Level | Code | Message |
+-------+------+----------------------------------------------------------+
| Note | 1003 | SELECT SUM(K) from sbtest where id between 4997 and 5096 |
+-------+------+----------------------------------------------------------+ 


便箋:


Cassandra的存儲引擎
我很好奇,關於這一點,它涉及如何通過memcache的NoSQL和Innodb的解決方案。
我有一個後,在這裡: http://anothermysqldba.blogspot.com/2013/04/nosql-php-memcache-innodb-mysql.html

我會回來的這一點,因為我在我的環境中成立卡桑德拉。 我並不渴望,但好奇。


用戶反饋插件
文檔“快速啟動”添加到下的my.cnf文件的[mysqld]
[mysqld]
feedback=ON
port = 3310
socket = /tmp/mariadb-10.0.2.sock

130513 17:45:10 InnoDB: 10.0.2-MariaDB started; log sequence number 20183690
130513 17:45:10 [ERROR] /usr/local/mariadb-10.0.2/bin/mysqld: unknown variable 'feedback=ON' 

這個工作輕鬆了很多,想到這樣一旦我刪除了“快速啟動”的指示。
> INSTALL PLUGIN feedback SONAME 'feedback.so';

> SELECT plugin_status FROM information_schema.plugins WHERE plugin_name = 'feedback';
+---------------+
| plugin_status |
+---------------+
| ACTIVE |
+---------------+ 


通過錯誤日誌中,你也可以看到它的工作:

[注意事項]反饋插件:發送報告'http://mariadb.org/feedback_plugin/post'
[注]反饋插件:服務器回答說'OK'



總體而言,我目前最喜歡的增強:



基本安裝是這樣的:
# Preconfiguration setup
shell> groupadd mariadb
shell> useradd -r -g mariadb mariadb

# Beginning of source-build specific instructions
shell> tar zxvf MariaDB-VERSION.tar.gz
shell> cd MariaDB-VERSION
shell> cmake .
shell> make
shell> make install DESTDIR="/usr/local/mariadb-10.0.2-tmp"
# End of source-build specific instructions

Build files have been written to: /usr/local/src/MySQL/MariaDB/10.0.2/mariadb-10.0.2

I do not like the results
-- Installing: /usr/local/mariadb-10.0.2-tmp/usr/local/mysql/
If DESTDIR is should install into that location not start with user under that location. This is a MySQL original issue as it does this with all versions of MySQL.

# Fix the odd/bug setup
shell> cd /usr/local/mariadb-10.0.2-tmp
shell> mv usr/local/mysql/ ../mariadb-10.0.2 ;
shell> cd ../; # rm -Rf mariadb-10.0.2-tmp

# Postinstallation setup
shell> cd /usr/local/mariadb-10.0.2
shell> chown -R mariadb .
shell> chgrp -R mariadb .

# Next command is optional
shell> cp support-files/my-small.cnf /etc/mariadb-10.0.2.cnf
shell> vi /etc/mariadb-10.0.2.cnf
port = 3310
socket = /tmp/mariadb-10.0.2.sock

shell> scripts/mysql_install_db --defaults-file=/etc/mariadb-10.0.2.cnf --basedir=/usr/local/mariadb-10.0.2 --skip-name-resolve --datadir=/var/lib/mariadb-10.0.2 --user=mariadb
shell> chown -R mariadb /var/lib/mariadb-10.0.2/*

shell> # bin/mysqld_safe --defaults-file=/etc/mariadb-10.0.2.cnf --user=mariadb --datadir=/var/lib/mariadb-10.0.2/ --port=3310 &


shell> # ./bin/mysql --port=3310 --socket=/tmp/mariadb-10.0.2.sock
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.0.2-MariaDB Source distribution

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.