CentOS7.3編譯安裝MariaDB10.2
1. 刪除CentOS7.3默認數據庫配置文件
查看默認數據庫配置文件
[root@localhost ~]# find -H /etc/ | grep my.c
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
/etc/my.cnf.d
/etc/my.cnf.d/mysql-clients.cnf
/etc/my.cnf
刪除默認數據庫配置文件
[root@localhost ~]# rm -rf /etc/my.cnf /etc/my.cnf.d/
再次查看默認數據庫配置文件
[root@localhost ~]# find -H /etc/ | grep my.c
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
到目前為止, 系統最小化安裝自帶的數據庫配置文件已經刪除干凈了!
2. 卸載系統自帶mariadb-libs
查詢
[root@localhost ~]# rpm -qa|grep mariadb-libs
mariadb-libs-5.5.52-1.el7.x86_64
卸載
[root@localhost ~]# rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
安裝相關包
[root@localhost ~]# yum -y install libaio
[root@localhost ~]# yum -y install libaio-devel
[root@localhost ~]# yum -y install bison
[root@localhost ~]# yum -y install bison-devel
[root@localhost ~]# yum -y install zlib-devel
[root@localhost ~]# yum -y install openssl
[root@localhost ~]# yum -y install openssl-devel
[root@localhost ~]# yum -y install ncurses
[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# yum -y install libcurl-devel
[root@localhost ~]# yum -y install libarchive-devel
[root@localhost ~]# yum -y install boost
[root@localhost ~]# yum -y install boost-devel
[root@localhost ~]# yum -y install lsof
[root@localhost ~]# yum -y install wget
[root@localhost ~]# yum -y install gcc
[root@localhost ~]# yum -y install gcc-c++
[root@localhost ~]# yum -y install make
[root@localhost ~]# yum -y install cmake
[root@localhost ~]# yum -y install perl
[root@localhost ~]# yum -y install kernel-headers
[root@localhost ~]# yum -y install kernel-devel
[root@localhost ~]# yum -y install pcre-devel
3. 創建家目錄存放軟件包目錄
[root@localhost ~]# mkdir soft
[root@localhost ~]# cd soft
4. MariaDB官網復制源碼包鏈接地址并下載解壓
下載
[root@localhost soft]# wget https://downloads.mariadb.org/interstitial/mariadb-10.2.6/source/mariadb-10.2.6.tar.gz
解壓
[root@localhost soft]# tar -zxvf mariadb-10.2.6.tar.gz
5. 創建MariaDB安裝目錄、數據庫存放目錄、建立用戶和目錄
這里提前預定MariaDB的安裝目錄為/usr/local/mysql并且數據庫目錄為/data/mysql,這里要建立系統用戶及組和數據庫存放目錄,并且將數據庫存放目錄賦予mysql用戶及組權限,操作如下:
請注意特別說明一下:這里說的數據庫目錄是指的具體數據庫存儲文件, 而不是安裝文件!
創建mysql系統用戶組
[root@localhost soft]# groupadd -r mysql
創建系統用戶mysql并加入到mysql系統用戶組
[root@localhost soft]# useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql
以下是上面創建系統用戶mysql的各個參數說明:
-r: 添加系統用戶( 這里指將要被創建的系統用戶mysql )
-g: 指定要創建的用戶所屬組( 這里指添加到新系統用戶mysql到mysql系統用戶組 )
-s: 新系統帳戶的登錄shell( /sbin/nologin 這里設置為將要被創建系統用戶mysql不能用來登錄系統 )
-d: 新帳戶的主目錄( 這里指定將要被創建的系統用戶mysql的家目錄為 /usr/local/mysql )
-M: 不要創建用戶的主目錄( 也就是說將要被創建的系統用戶mysql不會在 /home 目錄下創建 mysql 家目錄 )
創建maria安裝目錄
[root@localhost soft]# mkdir -p /usr/local/mysql
創建數據庫存放目錄
[root@localhost soft]# mkdir -p /data0/mysql
改變數據庫存放目錄所屬用戶及組為 mysql:mysql
[root@localhost soft]# chown -R mysql:mysql /data0/mysql
執行編譯安裝
> 進入到解壓后的源碼包文件夾
[root@localhost soft]# cd mariadb-10.2.6
> 輸入編譯參數
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data0/mysql \
-DSYSCONFDIR=/etc \
-DWITHOUT_TOKUDB=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 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
** 請注意一點:在編譯源碼tarball集合中的MariaDB Galera集群時: -DWITH_WSREP=ON和-DWITH_INNODB_DISALLOW_WRITES=1。**
> 如果編譯失敗請刪除CMakeCache.txt
[root@localhost soft]# rm -f CMakeCache.txt
> 讓指令重新執行,否則每次讀取這個文件,命令修改正確也是報錯
> cmake沒問題,可以編譯并且安裝了: make && make install 時間會有點長根據個人機器吧,你可以干別的事情去!
[root@localhost soft]# make && make install
> 執行完成也就是安裝完成了, 不過請注意, 這只是安裝了, 并沒有啟動, 啟動不成功等于沒安裝, 不能用也是徒勞無功不是?
>
6. 配置MariaDB
> 進入到 MariaDB 安裝目錄
[root@localhost ~]# cd /usr/local/mysql/
> 使用 `mysql` 用戶執行腳本, 安裝數據庫到數據庫存放目錄
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data0/mysql
> 輸出以下信息:
Installing MariaDB/MySQL system tables in '/data/mysql' ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'./bin/mysqladmin' -u root password 'new-password'
'./bin/mysqladmin' -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
'./bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd '.' ; ./bin/mysqld_safe --datadir='/data/maria'
You can test the MariaDB daemon with mysql-test-run.pl
cd './mysql-test' ; perl mysql-test-run.pl
Please report any problems at http://mariadb.org/jira
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
6. 復制MariaDB配置文件到/etc目錄
> 進行到 MariaDB 安裝目錄
[root@localhost ~]# cd /usr/local/mysql/
> 拷貝support-files目錄下的文件my-large.cnf到/etc目錄并重命名為my.cnf
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
7. 創建啟動腳本
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
8. 啟動mysqld服務
[root@localhost mysql]# /etc/rc.d/init.d/mysqld start
9. 配置環境變量, 以便在任何目錄下輸入mysql
> 打開并新建文件
[root@localhost mysql]# vim /etc/profile.d/mysql.sh
> 輸入以下內容
export PATH=$PATH:/usr/local/mysql/bin/
> 保存并退出
:wq
> 為腳本賦于可執行權限
[root@localhost mysql]# chmod 0777 /etc/profile.d/mysql.sh
> 進行mysql.sh腳本所在目錄, 并執行腳本, 以立即生效環境變量
[root@localhost mysql]# source /etc/profile.d/mysql.sh
10. 初始化MariaDB
> 運行MariaDB初始化腳本
[root@localhost mysql]# ./bin/mysql_secure_installation
> 以下提示:
Enter current password for root (enter for none): 輸入當前root密碼(沒有輸入)
Set root password? [Y/n] 設置root密碼?(是/否)
New password: 輸入新root密碼
Re-enter new password: 確認輸入root密碼
Password updated successfully! 密碼更新成功
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
默認情況下,MariaDB安裝有一個匿名用戶,
允許任何人登錄MariaDB而他們無需創建用戶帳戶。
這個目的是只用于測試,安裝去更平緩一些。
你應該進入前刪除它們生產環境。
Remove anonymous users? [Y/n] 刪除匿名用戶?(是/否)
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
通常情況下,root只應允許從localhost連接。
這確保其他用戶無法從網絡猜測root密碼。
Disallow root login remotely? [Y/n] 不允許root登錄遠程?(是/否)
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
默認情況下,MariaDB提供了一個名為“測試”的數據庫,任何人都可以訪問。
這也只用于測試,在進入生產環境之前應該被刪除。
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
重新加載權限表將確保所有到目前為止所做的更改將立即生效。
Reload privilege tables now? [Y/n] 現在重新加載權限表(是/否)
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
全部完成!如果你已經完成了以上步驟,MariaDB安裝現在應該安全。
Thanks for using MariaDB!
感謝使用MariaDB!
進入MariaDB終端
如果說在 初始化MariaDB 中沒有設置密碼, 進入MariaDB終端, 直接輸入 mysql 即可
[root@localhost ~]# mysql
如果設置了密碼則加入參數
-u: 用戶名
-p: 密碼
-P: 端口號
-h: 主機
更多參數具體含義請參數 mysql --help 進行查看!
[root@localhost ~]# mysql -u u_setting_username -p
- 一、日常運維腳本
- 1.1 批量創建用戶并賦予sudo權限
- 1.2 批量主機建立互信
- 1.3create_images.sh
- 1.4monitor.sh
- 1.5ftp腳本
- 1.6格式化分區
- 1.7簡單的遠程執行腳本
- 二、常用服務使用
- 1 ceph (分布式文件系統)
- 1.1 ceph 簡介
- 1.2 準備環境
- 1.3 開始部署
- 1.4 cephfs掛載
- 1.5 RBD塊存儲
- 1.6 object 對象存儲
- 1.7 集群擴展
- 1.7.1 增加刪除MON
- 1.7.2 增加刪除OSD
- 1.7.3 刪除MDS
- 注意事項
- 遇到的問題
- 1.8ceph查找數據文件
- 1.9卸載并清理環境
- 2、mysql (數據庫)
- 2.1 搭建
- 2.2 使用教程
- 2.2.1 mysql基礎配置
- 2.2.1.1 用戶權限管理
- 2.2.1.2用戶資源限制
- 2.2.1.3 密碼管理
- 2.2.1.4用戶lock
- 2.2.2mysql語法詳解
- 2.2.1建庫、表語句
- 2.2.2.2 插入 insert
- 2.2.2.3更新 update
- 2.2.2.4刪除 delete
- 2.2.2.5查詢 select
- 2.2.6視圖 索引 view index
- 2.2.7 修改 alert
- 2.2.2.8清理 truncate drop
- 2.2.9重命名 rename
- 示例語句
- 2.2.3mysql常用函數
- 2.3.1 對比操作符統概
- 2.3.2對比操作符詳解
- 2.3.3邏輯操作符
- 2.2.4分配操作符
- 2.2.5流程控制函數
- 2.2.6字符串函數
- 2.2.7字符串對比函數
- 2.2.8數字函數
- 2.2.9日期和時間函數
- 2.2.10聚合/格式轉換函數
- 2.2.11 子查詢
- 示例語句
- 2.2.4 mysql 高級應用
- 2.2.4.1 存儲過程 函數
- 2.2.4.2流程控制
- 2.2.4.3游標
- 2.2.4.4觸發器
- 課堂練習
- 2.2.2.5 數據庫設計
- 2.2.5.1 數據類型
- 2.2.5.2存儲引擎
- 2.2.6Innodb內核
- 1、innodb事務和多版本控制
- 2、體系結構
- 3、InnoDB配置
- 4、buffer pool設置
- 5、其他配置
- innodb限制
- 2.7 字符集
- 2.8鎖機制和事務
- 2.8.1鎖機制
- 2.8.2事務
- 2.9分區
- 2.9.1 自動分區
- 2.10復制
- 2.11mysql搬移數據目錄
- 2.12組復制 GR
- 簡介
- 搭建
- 2.3日常運維
- 2.3.1定時任務
- 2.4mycat
- 2.4.1 報錯分析
- 2.4.2 修改字符集
- 2.11 mycat使用
- 2.5遇到問題
- 2.5.1 表名庫名忽略大小寫
- 3、PAAS平臺搭建
- 問題匯總
- 1、docker
- 2、日常運維
- 3.1 Kubernetes
- 3.1 kubernetes 高版本搭建
- 4、GlusterFS搭建
- 5、MooseFS搭建
- 5.1搭建
- 5.2運維
- 5.2.1 mfs日志解析
- 5.2.2清理mfs的垃圾數據
- 5.2.3元數據故障恢復
- 5.2.4 MFS優化
- 5.2.5 配置機架感知
- 5.2.6 客戶端工具集
- 6、集群切換命令
- 7、ntp服務
- 8、monggoDB
- 8.1搭建單機
- 2、搭建集群及分片
- 9、MariaDB Galera Cluster
- 9.1源碼安裝MariaDB
- 9.2galera cluster 優劣
- 9.3 rpm安裝mariadb
- 10 HAproxy1.7搭建
- 11、sysbench 搭建使用
- 0.5版本
- 12 percona-xtradb-cluster
- 13http服務相關
- 13.1 http狀態碼解析
- 14 zookeeper
- 14.1 zookeeper日志查看
- 14.2 配置解析
- 14.3 優化
- 15搭建私有pip源
- 16/var/log的日志文件解釋
- 15 ansible的搭建及使用
- 15.1 搭建
- 15.2 使用說明
- 16. 搭建本地yum源
- zookeeper
- 優化
- 四、開發語言
- 1、GO語言
- 1.1go簡介
- 1.1.1hello_world初識GO
- 1.1.2并發介紹
- 1.1.3 chan介紹
- 1.1.4多返回值
- 1.2go基礎
- 1.2.1數據類型
- 1.2.2 go基礎結構
- 1.2.3 const及變量介紹
- 1.2.3os和time介紹
- 1.2.4 字符串
- 1.2.5條件判斷
- 1.2.6 homework
- go--help
- 1.3 go基礎2
- 1.3.1 數組 array
- 1.3.2切片 slice
- 1.3.3 時間和日期
- 1.3.4指針類型
- 1.3.5函數
- 1.3.6可變參數
- 1.3.7 defer
- 1.3.8遞歸
- 1.9閉包
- 1.10 map
- 1.11 sort
- 1.12 struct 結構體
- 2.perl語言
- 2.1 安裝lib包
- 3 python
- 1.語言基礎
- 2、編程教學
- 2.1變量和序列
- 2.2 條件語句