標籤:access users oracle linux copy innodb 預設 pid maria
系統平台:
CentOS release 6.9 (Final)
核心 2.6.32-696.el6.x86_64
1.去官網下載適合的源碼包
http://mariadb.org/
mariadb-10.2.12.tar.gz
檢查系統內是否安裝了資料庫。
#rpm -qa|grep MariaDB#rpm -qa|grep mysql
mariadb-10.2.12需要c++11特性支援,gcc4.8以下並未包含,而Centos 6.9的gcc版本為4.4.7
但在編譯器或運行程式時需要更高版本的gcc,只能手動編譯安裝gcc。
而 CentOS 7 則依然使用其 4.8,所以基於相容性考慮,我選擇升級到 4.8.5
2. gcc 4.8.5編譯安裝
gcc編譯請參考
3. cmake 編譯安裝
cmake編譯請參考
也可以使用yum cmake的2.8版本
4.安裝依賴包
# yum install ncurses-devel libaio-devel openssl-devel -y請自行參考https://mirrors.aliyun.com/help/centos#cmake --versioncmake version 3.10.2
5.解壓mariadb包至任意臨時目錄
#tar xvf mariadb-10.2.12.tar.gz -C /app/sdb/
6.編譯安裝mariadb
#mkdir /app/sdb/db-build#cd /app/sdb/db-build/以下的編譯參數,根據自己的需求定製#cmake /app/sdb/mariadb-10.2.12 -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.12 -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_DEBUG=0我使用的AUSU筆記本是 I5 1CPU 4核,4GB記憶體,20分鐘編譯安裝完成。# make -j 8 && make install編譯完成佔用空間為3.3GB
7.建立軟連結mysql指向解壓後的目錄
#cd /usr/local/#ln -s mariadb-10.2.12 mysql
8.建立用於mysql的組和帳號
#groupadd -g 500 mysql#useradd -g 500 -u 500 -s /sbin/nologin -M mysql
9.修改mysql檔案夾所屬者和所屬組
#chown -R mysql.mysql /usr/local/mysql/
10.添加PATH至環境變數中
#echo ‘PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile.d/mysql.sh檢查檔案#cat /etc/profile.d/mysql.sh載入環境變數檔案 並檢查#source /etc/profile.d/mysql.sh#echo $PATH#mysql -Vmysql Ver 15.1 Distrib 10.2.12-MariaDB, for Linux (x86_64) using readline 5.1
11.建立資料庫存放檔案夾並修改許可權
#mkdir -pv /data/sqldb/3306/{log,data,pid,socket,tmp}#chown -R mysql.mysql /data/sqldb/#chmod -R 770 /data/sqldb/
12.複製主設定檔my.cnf
這裡先要確認下原生記憶體多少,以便使用一個參考模板。
#grep memory support-files/*
找到適合本機記憶體的模板
本機記憶體為512M,所以選擇了my-large.cnf這個設定檔
#\cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
13.修改設定檔
# vim /etc/my.cnf[mysqld]port = 3306socket = /tmp/mysql.sockpid-file = /data/sqldb/3306/pid/mysql.piddatadir = /data/sqldb/3306/datatmpdir = /data/sqldb/3306/tmpinnodb_file_per_table = 1skip_name_resolve = 1log-error = /data/sqldb/3306/log/error.log
14.安裝資料庫相關檔案
#cd /usr/local/mysql/
查看下安裝程式的安裝參數
#/usr/local/mysql/scripts/mysql_install_db --help#./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
15.複製啟動服務指令碼至/etc/init.d目錄
#cp support-files/mysql.server /etc/init.d/mysqld
16.添加開機啟動服務,並啟動mysqld服務
#chkconfig --add mysqld#service mysqld startStarting MySQL.180128 23:54:38 mysqld_safe Logging to ‘/data/sqldb/3306/log/error.log‘.180128 23:54:38 mysqld_safe Starting mysqld daemon with databases from /data/sqldb/3306/data [ OK ]#lsof -i:3306COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 2067 mysql 21u IPv6 12603 0t0 TCP *:mysql (LISTEN)
17.進行安全配置
#/usr/local/mysql/bin/mysql_secure_installationEnter current password for root 預設為空白Set root password 設定mysql root密碼Remove anonymous users 是否移除匿名使用者登入Disallow root login remotely 是否禁止root遠程登入Remove test database and access to it? 是否移除test資料和test帳號Reload privilege tables now? 是否立即更新許可權Thanks for using MariaDB!
18.測試
#mysql -u root -pEnter password: Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 19Server version: 10.2.12-MariaDB-log Source distributionCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.MariaDB [(none)]> use mysql;
建立一個帳號測試遠程登入
MariaDB [mysql]> grant all on *.* to ‘hunk‘@‘%‘ identified by ‘123456‘;Query OK, 0 rows affected (0.00 sec)MariaDB [mysql]> flush privileges;Query OK, 0 rows affected (0.00 sec)#mysql -uhunk -p123456 -h192.168.5.128Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 21Server version: 10.2.12-MariaDB-log Source distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.MariaDB [(none)]>
CentOS 6.9 基於gcc4.8.5編譯安裝mariadb-10.2.12