天天看點

MariaDB:安裝、配置、JAVA源代碼樣例

      mariadb的目的是完全相容mysql,包括api和指令行,使之能輕松成為mysql的代替品。在存儲引擎方面,使用xtradb來代替mysql的innodb。

        mariadb由mysql的創始人麥克爾·維德紐斯主導開發,他早前曾以10億美元的價格,将自己建立的公司mysql ab賣給了sun,此後,随着sun被甲骨文收購,mysql的所有權也落入oracle的手中。mariadb名稱來自麥克爾·維德紐斯的女兒瑪麗亞(英語:maria)的名字

1.設定yum源

參考:https://downloads.mariadb.org/mariadb/repositories/

選擇作業系統的類型、版本、mariadb的版本,會自動生成yum源

# mariadb 5.5 redhat repository list - created 2014-02-20 01:40 utc

# http://mariadb.org/mariadb/repositories/

[mariadb]

name = mariadb

baseurl = http://yum.mariadb.org/5.5/rhel6-amd64

gpgkey=https://yum.mariadb.org/rpm-gpg-key-mariadb

gpgcheck=1

2.安裝mariadb(installing mariadb with yum)

參考:https://mariadb.com/kb/en/installing-mariadb-with-yum/

yum install mariadb-server mariadb-client

yum remove mariadb-galera-server

yum install mariadb-galera-server mariadb-client galera

3.啟動

/etc/init.d/mysql start

4.手工導入mariadb signing key

rpm --import https://yum.mariadb.org/rpm-gpg-key-mariadb

5.解除安裝mariadb

rpm -aq|grep -i mariadb|xargs rpm -e --nodeps

如果報:running transaction

error in preun scriptlet in rpm package mariadb-server

mariadb-server-5.5.35-1.x86_64 was supposed to be removed but is not!

需要運作如下指令:

rpm -u --noscripts mariadb-server-5.5.35-1.x86_64 

rm -rf /var/lib/mysql*

rm -rf /usr/share/mysql*

rm -rf /etc/rc.d/init.d/mysql

rm -rf /etc/my.cnf

6.修改root初始密碼

mysqladmin -u root password 'root'

7.删除空使用者,增強安全

delete from mysql.user where user='';

重新整理權限表,以便可以使更改立即生效。

flush privileges;

8.遠端登入配置

grant all privileges  on *.* to root@'%' identified by 'root' ;

9.修改資料庫目錄

由于mysql資料庫目錄占用磁盤比較大,而mysql預設的資料檔案存儲目錄為/"var/lib/mysql",是以我們要把目錄移到"/data"根目錄下的"mysqldata"目錄中

cd /data

mkdir  mysqldata

把mysql服務程序停掉

service mysql stop

mysqladmin -u root -p shutdown

複制資料庫目錄

把mysql的資料檔案移動到了"/data/mysqldata/mysql"下

mv /var/lib/mysql /data/mysqldata

修改my.conf檔案

如果"/etc/"目錄下沒有my.cnf配置檔案,請到"/usr/share/mysql/"下找到*.cnf檔案,拷貝其中一個合适的配置檔案到"/etc/"并改名為"my.cnf"中

cp /usr/share/mysql/my-default.cnf /etc/my.cnf

修改後的内容如下:

[client]

port            = 3306

socket = /data/mysqldata/mysql/mysql.sock

default-character-set=utf8

[mysqld]

socket  = /data/mysqldata/mysql/mysql.sock

datadir = /data/mysqldata/mysql

character-set-server=utf8

lower_case_table_names=1

sql_mode=no_engine_substitution,strict_trans_tables

vim /etc/rc.d/init.d/mysql

datadir=/data/mysqldata/mysql

啟動mysql(如果不能啟動,打開/etc/selinux/config,把selinux=enforcing改為selinux=disabled後存盤退出重新開機機器試試,必須要重新開機)

service mysql start

注意:aria存儲引擎的一些配置,如aria_pagecache_buffer_size

      相關的參數可以通過指令查到:show variables like '%aria%'

10. java源代碼樣例