CentOS6.5中使用通用二進制格式安裝mariadb-5.5.36

當前環境

ip : 192.168.1.153

系統版本

wKiom1P8aDGgAi1cAAC5VU4-qGI018.jpg

當前虛擬機還沒安裝任何版本的mysqlmariadb:

wKiom1P8aECB60OPAAG408jYakU941.jpg

注意如果此前已經安裝過mysql-serverrpm包而希望使用通用二進制格式安裝mariadb時一定要把mysql-server完全卸載或把mysqld服務關掉並確保它不會開機自動啓動。使用通用二進制格式安裝mariadb之前儘可能不要安裝mysql-server

 

使用通用二進制格式安裝mariadb

1、下載mariadb-5.5.36-linux-x86_64.tar.gz

 

2、解壓、創建軟鏈接軟鏈接爲以後mariadb的升級提供了便利

#使用-C選項指定展開歸檔的目錄

[root@localhost ~]# tar  xf  mariadb-5.5.36-linux-x86_64.tar.gz  -C  /usr/local  
[root@localhost ~]# cd /usr/local


#mariadb-5.5.36-linux-x86_64創建鏈接目錄目錄名一定要爲mysql

[root@localhost local]# ln -sv mariadb-5.5.36-linux-x86_64 mysql
[root@localhost local]# cd mysql


3、lvm邏輯卷作爲數據庫數據的存放位置

建議在生產環境中最好把數據庫的數據存放到lvm的邏輯卷中底層lvm應該通過硬件raidraid10來搭建。

好處

 隨着數據的增多存儲空間不夠用時能動態擴展存儲空間大小。

 能利用lvm邏輯卷的快照功能對數據進行備份。

注意實際生產環境中不要把數據庫的數據存放到系統磁盤的邏輯捲上以免系統磁盤損壞而導致數據庫的數據丟失。

 

(1)在非系統磁盤上創建邏輯卷mydata 

[root@localhost ~]# fdisk -l /dev/sdb1 
Disk /dev/sdb1: 32.2 GB, 32218389504 bytes
[root@localhost ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root@localhost ~]# vgcreate myvg /dev/sdb1
Volume group "myvg" successfully created
[root@localhost ~]# lvcreate -L 10G -n mydata myvg
Logical volume "mydata" created
[root@localhost ~]# lvs
LV     VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
mydata myvg -wi-a----- 10.00g


 

(2)格式化邏輯卷mydata

[root@localhost ~]# mke2fs -t ext4 -m 3 -L MYDATA -b 4096 /dev/myvg/mydata

 

(3)邏輯卷mydata掛載至/mydata目錄下並在該目錄下新建一個目錄data來存放數據。

[root@localhost ~]# mkdir /mydata
[root@localhost ~]# vim /etc/fstab  #設定開機自動掛載


wKioL1P8aeHD58ciAAA8UjPG4xo454.jpg 

[root@localhost ~]# mount -a 
[root@localhost ~]# mount
/dev/mapper/myvg-mydata on /mydata type ext4 (rw)
[root@localhost ~]# mkdir /mydata/data

 

(4)創建mysql系統用戶和mysql系統組

[root@localhost ~]# groupadd -r mysql
[root@localhost ~]# useradd -g mysql -r mysql
[root@localhost ~]# id mysql
uid=496(mysql) gid=493(mysql) groups=493(mysql)


(5)爲了安全運行mysql服務使用的是普通用戶不能使用管理員身份運行mysql

/mydata/data目錄及其目錄下的所有文件的屬主、屬組都設成mysql

[root@localhost ~]# chown -R mysql.mysql /mydata/data
[root@localhost ~]# ll -d  /mydata/data
drwxr-xr-x 2 mysql mysql 4096 Aug  9 06:30 /mydata/data


#修改/usr/local/mysql/目錄及其目錄下所有的文件的屬主爲root屬組爲mysql 因是編譯安裝爲了能讓mysql系統用戶正常運行屬組一定要設爲mysql

[root@localhost ~]# chown -R root.mysql /usr/local/mysql/


4、爲mysql提供配置文件

[root@localhost ~]# mkdir  /etc/mysql
[root@localhost ~]# cp  /usr/local/mysql/support-files/my-large.cnf  /etc/mysql/my.cnf


注意不能把my-large.cnf複製成/etc/my.cnf因爲系統默認安裝了mysql-libs(它已經提供/etc/my.cnf)爲了避免發生錯誤把配置文件放到/etc/mysql/my.cnf

wKioL1P8c0KSANbgAACDEHFKv6Y728.jpg

編輯 /etc/mysql/my.cnf並在[mysqld]中指定數據庫中數據存放的位置

[mysqld]
# Try number of CPU's*2 for thread_concurrency  #指定最大併發線程數
thread_concurrency = 4 #改爲自身cpu核心數*2
datadir = /mydata/data #數據庫中數據存放的路徑


5、初始化mysql數據庫

注意如果你按以下方式執行會發生錯誤不能在 scripts目錄下執行mysql_install_db腳本因爲該腳本依賴於mysql目錄下的/bin/my_print_defaults

[root@localhost mysql]# cd scripts/
[root@localhost scripts]# ./mysql_install_db --datadir=/mydata/data --user=mysql 
FATAL ERROR: Could not find ./bin/my_print_defaults


正常做法

[root@localhost scripts]# cd ..
[root@localhost mysql]# scripts/mysql_install_db --datadir=/mydata/data --user=mysql


查看/mydata/data目錄中是否已生成mysql默認數據庫

[root@localhost mysql]# ls /mydata/data
aria_log.00000001  mysql             mysql-bin.000002  performance_schema
aria_log_control   mysql-bin.000001  mysql-bin.index   test

 

6、mysql提供服務啓動腳本

[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# ll /etc/rc.d/init.d/mysqld  # 確保該腳本有執行權限
-rwxr-xr-x 1 root root 11844 Aug  9 07:59 /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld  # 把mysqld添加到服務列表中
[root@localhost mysql]# chkconfig --list mysqld  # 默認開機自動啓動 
mysqld         0:off1:off2:on3:on4:on5:on6:off


 

7導出mysql的二進制文件、頭文件、庫文件、幫助文檔

導出二進制程序

[root@localhost mysql]# vim /etc/profile.d/mysql.sh
[root@localhost mysql]# cat /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[root@localhost mysql]# source /etc/profile.d/mysql.sh
[root@localhost mysql]# echo $PATH
/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


 

導出頭文件

[root@localhost mysql]# ln -s /usr/local/mysql/include/ /usr/include/mysql
[root@localhost mysql]# ll /usr/include/mysql
lrwxrwxrwx 1 root root 25 Aug  9 08:13 /usr/include/mysql -> /usr/local/mysql/include/


 

導出幫助文檔

[root@localhost mysql]# vim /etc/man.config 
MANPATH /usr/loacl/mysql/man  #添加此項


 

導出庫文件

[root@localhost mysql]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf
[root@localhost mysql]# ldconfig -v | grep mysql
/usr/local/mysql/lib:  #新版本的庫文件
libmysqld.so.18 -> libmysqld.so.18
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
/usr/lib64/mysql:  #舊版本的庫文件
libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0


 

8、啓動服務

[root@localhost mysql]# service mysqld start
Starting MySQL.....                                        [  OK  ]
[root@localhost mysql]# ss -tnl | grep 3306
LISTEN     0      50                        *:3306                     *:*  
[root@localhost ~]# ll /tmp/*.sock
srwxrwxrwx 1 mysql mysql 0 Aug 19 00:59 /tmp/mysql.sock

上面這個文件由服務產生本地客戶端可以此設備文件連接Mysql服務

 

注意

mysqld服務停止時該mysql.sock文件也會被刪除

[root@localhost ~]# service mysqld stop
Shutting down MySQL...                                     [  OK  ]
[root@localhost ~]# ll /tmp/*.sock
ls: cannot access /tmp/*.sock: No such file or directory


 

9、登錄mysql服務器

[root@localhost mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.36-MariaDB-log MariaDB Server
Copyright (c) 2000, 2014, 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 |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.07 sec)


 

能正常訪問!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章