十一、3 mariadb安裝

cd /usr/local/src
wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
cd /usr/local/mariadb
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
vi /usr/local/mariadb/my.cnf //定義basedir和datadir
cp support-files/mysql.server /etc/init.d/mariadb
vim /etc/init.d/mariadb //定義basedir、datadir、conf以及啓動參數
/etc/init.d/mariadb startmysql

安裝過程
mariadb和mysql安裝過程相似
1首先切換到/usr/local/src目錄下
cd /usr/local/src
2而後在官網下載10.2.6版本(官網下載很慢,由於地址在美國),本身百度雲有提早下載好的,只須要下載到windows,而後 rz 命令從windows上傳到linux中
rz命令,安裝包——>yum install -y lrzsz
3再去使用 tar命令 進行解壓
tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
4解壓完,去查看下文件linux

5並將解壓的包移動到/usr/local下,並更名叫mariadb——>這裏的更名,是爲了以前安裝mysql的名字有所區分sql

6而後進入到/usr/local/mariadb 目錄下去
cd /usr/local/mariadb
7建立mysql用戶,建立data——>這裏由於以前安裝mysql的時候,已經建立過了因此不須要建立useradd mysql
useradd mysql
mkdir /data/
8初始化,./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
   定義basedir=/usr/local/mariadb/ 若不定義 ,就會去找mysql了數據庫

9查看是否初始化成功,看 echo $? 執行結果是否爲0,如果 0 ,則表示初始化成功vim

或者查看/data/mariadb/目錄下,是否生成了一些目錄——>和/data/mysql/ 相似windows

10拷貝配置文件,定義啓動腳本
    配置文件存放在/usr/local/mariadb/suport/files/目錄下,會看到有不少配置文件緩存

11打開support-files/my-small.cnf 文件
my-small.cnf、my-medium.cnf、my-large.cnf這三個配置文件區別在於 緩存的數值大小不一樣
    根據內存大小的不一樣,它能夠給你指定合適的緩存,這樣可以讓你的mysql達到更高效的性能
vim support-files/my-small.cnf服務器

12由於咱們作實驗,內存原本就不大,可使用最小的一個my-small.cnf ,拷貝過去
    如果內存有幾十個G,可使用my-huge.cnf拷貝過去,而後根據實際的運行狀況 ,去適當的調整參數
13拷貝文件到/usr/local/mariadb/my.cnf
      mariadb這裏就不放到/etc/my.cnf下了,由於這是mysql用的,這裏爲了區分到/usr/local/mariadb/my.cnf性能

14編輯配置文件 /usr/local/mariadb/my.cnf——>這裏面配置不用修改3d

15拷貝啓動腳本到 /etc/init.d/mariadb
cp support-files/mysql.server /etc/init.d/mariadb

16編輯啓動腳本
vim /etc/init.d/mariadb
定義 basedir=/usr/local/mariadb
定義 datadir=/data/mariadb
自定義參數 conf=$basedir/my.cnf
在定義conf後,還須要在 啓動命令下面指定下——>在通常模式下,搜索 /start 啓動命令
在 $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
 中,增長--defaults-file="$conf",最後爲 $bindir/mysqld_safe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &


17在啓動前,先查看是否有mysql服務在啓動(有的話用killall mysqld關閉)

 

18啓動mariadb服務,並去查看是否啓動
    查看是否啓動,用ps aux |grep mysql 也能夠,啓動的服務進程是mysqld,由於mariadb是mysql的一個分支
19如果在服務器上只安裝了mariadb,沒有mysql,那徹底能夠把my.cnf放在/etc目錄下,那啓動腳本就不須要conf變量了

機器裝了mysql和mariadb
    一臺機器上裝了mysql,又裝了mariadb (這種既裝了mysql和mariadb的機率很低),由於有多個配置文件在/etc/my.cnf,不管是在初始化的時候,仍是啓動多個mysql服務的時候,它都會影響正常的結果,因此要麼不把 my.cnf 放在etc目錄下,一旦放了,頗有可能受到影響。
    問題:
   用ps aux |grep mysql會發現其中的--datadir=/data/mysql,並非咱們預期的--datadir=/data/mariadb
   這是由於調用了/etc/my.cnf中的配置,有人可能會問,不是已經指定了--defaults-file=/usr/local/mariadb/my.cnf 配置文件,爲何還要去加載/etc/my.cnf中的配置呢,是由於--defaults-file=/usr/local/mariadb/my.cnf文件中,並無去定義dataidr 這個選項,而後去調用的時候,沒有在配置文件中找到這個參數,而後在/etc/my.cnf中調用
    解決方法:
        1須要去編輯指定的配置文件,在 /usr/local/mariadb/my.cnf 文件中的 [mysqld] 下加入datadir= /data/mariadb (如果datadir加在其餘地方是無效的)
        固然不是隻能擁有一個數據庫,只要將各個參數配置完善,一個機器上能夠跑多個mysql服務
        2在修改完配置文件後,啓動/etc/init.d/mariadb start (第一次啓動mariadb服務)——>如果mariadb服務已經啓動了,則/etc/init.d/mariadb restart ,但顯示的結果還未正常,那咱們就直接killall mysqld服務,而後再ps aux |grep mysql查看下服務是否殺死
        3最後再來 /etc/init.d/mariadb restart 開啓mariadb服務,會看到顯示正常

相關文章
相關標籤/搜索