本文參考:http://chenzehe.iteye.com/blog/1266260??感謝原作者的分享!
?
mariadb數據庫文件在哪,首先安裝/更新一些編譯時會用到的基礎包
[root@localhost local]#
yum -y install gcc gcc-c++ make cmake ncurses ncurses-devel libxml2 libxml2-devel openssl-devel bison bison-devel
mariadb下載:?ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.1.20/source/mariadb-10.1.20.tar.gz
編譯安裝MariaDB10.1.x的版本需要gcc支持c++11,不懂的朋友可以看我另外一篇文章:源碼安裝GCC-4.9.2
mariadb配置文件路徑。?
1、創建mysql用戶
[root@localhost local]#
groupadd mysql
[root@localhost local]#
useradd -s /sbin/nologin -g mysql -M mysql #不允許mysql用戶登錄
2、創建數據存放目錄
[root@localhost local]# mkdir -pv /data/dbdata
[root@localhost local]# mkdir -pv /data/innodb
[root@localhost local]#
chown -R mysql.mysql /data/ #修改目錄權限為mysql
mariadb安裝及配置教程。3、安裝mariadb
[root@localhost mariadb-10.1.19]#
cmake -DMYSQL_UNIX_ADDR=/tmp/mysql.sock\
-DSYSCONFDIR=/usr/local/mysql\
-DMYSQL_TCP_PORT=3306\
-DEXTRA_CHARSETS=all\
-DMYSQL_USER=mysql\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\
-DMYSQL_DATADIR=/data/dbdata\
-DWITH_XTRADB_STORAGE_ENGINE=1\
-DWITH_FEDERATEDX_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STORAGE_ENGINE=1\
-DWITH_MYISAM_STORAGE_ENGINE=1\
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STPRAGE_ENGINE=1\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
-DWIYH_READLINE=1\
-DWIYH_SSL=system\
-DVITH_ZLIB=system\
-DWITH_LOBWRAP=0\
-DDEFAULT_CHARSET=utf8\
-DDEFAULT_COLLATION=utf8_general_ci
?
[root@localhost mariadb-10.1.19]# make
[root@localhost mariadb-10.1.19]# make install
?到這里MariaDB已經算是安裝上了,進行配置就可以使用了。本人在這里用的是多實例配置方法
mariadb安裝初始密碼、?1、初始化數據目錄
#把用到的工具添加到/usr/bin目錄
[root@localhost mysql]#
ln -s /usr/local/mysql/bin/mysqld_multi /usr/bin/mysqld_multiln -s /usr/local/mysql/scripts/mysql_install_db /usr/bin/mysql_install_db
[root@localhost mysql]#
[root@localhost mysql]#
./scripts/mysql_install_db --datadir=/data/dbdata --user=mysql
?2、配置多實例數據庫配置文件
a)修改my.cnf文件
[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = mysql# The MySQL server[mysqld6033]port = 6033#bind-address = 127.0.0.1socket = /tmp/mysql.sock.6033datadir = /data/dbdatapid-file = /data/dbdata/my.pidskip-external-lockingskip-name-resolveinteractive_timeout=86400wait_timeout=86400key_buffer = 384Mmax_allowed_packet = 4Mtable_cache = 8192sort_buffer_size = 2Mread_buffer_size = 2Mmyisam_sort_buffer_size = 64Mthread_cache = 32query_cache_size = 64Mthread_concurrency = 32max_connection = 150max_connect_errors=400max_heap_table_size = 64Mopen_files_limit=2048slow_query_log = 1long_query_time = 2slow-query-log-file = /data/dbdata/slowquery.sqllog-bin = /data/dbdata/replicationserver-id = 100#master-host = 192.168.0.100#master-user = repuser#master-password = repuser123#master-port = 6033#master-connect-retry = 30log-slave-updatesskip-slave-startcharacter-set-server = utf8collation_server = utf8_general_cimaster-info-file = /data/dbdata/master.info# Uncomment the following if you are using InnoDB tablesinnodb_data_home_dir = /data/innodbinnodb_data_file_path = ibdata1:200M;ibdata2:200M;ibdata3:200M;ibdata4:200M;ibdata5:200Minnodb_log_group_home_dir = /data/innodb/innodb_log_arch_dir = /data/innodb/innodb_buffer_pool_size = 700M innodb_additional_mem_pool_size = 256M innodb_log_file_size = 256M innodb_log_buffer_size = 32M innodb_flush_log_at_trx_commit = 0innodb_lock_wait_timeout = 50default_storage_engine = innodb
?
3、啟動多實例數據庫
#將/usr/local/mysql/bin加到$PATH環境變量里 ?
[root@localhost mysql]# vi /etc/profile
export?PATH=/usr/local/mysql/bin:$PATH ?#插入到最后一行
#啟動mysql
[root@localhost mysql]# mysqld_multi start 6033 –user? #6033是my.cnf里設置的端口
在啟動的時候會加載innodb,中途不能重啟,否則會出現如下錯誤
151114 00:59:38? mysqld started
151114? 0:59:38 [Warning] option 'thread_stack': unsigned value 126976 adjusted to 131072
InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/error-creating-innodb.html
151114? 0:59:38 [ERROR] Default storage engine (InnoDB) is not available
151114? 0:59:38 [ERROR] Aborting
151114? 0:59:38 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
151114 00:59:38? mysqld ended
?
刪除innodb文件夾,重新啟動就可以了
?