溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql兼mariadb安裝過程詳解

發(fā)布時間:2020-08-08 15:29:58 來源:網(wǎng)絡(luò) 閱讀:818 作者:小鳥加油 欄目:MySQL數(shù)據(jù)庫

mysql兼mariadb下載自己找自己對應(yīng)的版本:

https://dev.mysql.com/downloads/mysql/


因為5.5以后都用cmake編譯了,所以系統(tǒng)里沒有的話,就下個源碼的裝一下,怎么測試系統(tǒng)里有沒有裝了,在命令行中輸入#cma  在按Tab看有沒有cmake  有的話系統(tǒng)就裝過了,就不用在裝了。沒有話就去下個吧,下載地址:https://cmake.org/download/

還要裝boost才能裝cmake,boost下載地址:https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz/download


boost安裝過程:

tar xf boost_1_59_0.tar.gz

cd boost_1_59_0

./bootstrap.sh如果有提示的話就在裝下依賴庫yum install gcc  如果不出現(xiàn)“error: no command provided, default command 'g++' not found

”問題的話,

在發(fā)現(xiàn)該錯誤時,先在系統(tǒng)中確認(rèn)是否缺失相對應(yīng)的包:

rpm -qa | grep "g++"

在確認(rèn)系統(tǒng)未安裝之后,查詢可安裝的相對應(yīng)的功能的包:

yum whatprovides "*/g++"


在把給出的包裝上,

yum install gcc-c++-4.8.5-11.el7.x86_64


yum install ncurses-devel -y  安裝mysql時要的安裝環(huán)境,也許你的機器還有別的沒裝,仔細(xì)看看,直接yum 裝下就好了


接著安裝boost

./b2

結(jié)束


cmake安裝過程:

tar xf cmake-3.8.0-rc3.tar.gz

cd cmake-3.8.0-rc3

./configure

gmake && gmake install


解壓:tar xf tar xf mariadb-5.5.46.tar.gz

cd tar xf mariadb-5.5.46

cmake . -LH查看可以配置的選項,會生成CMakeCache.txt文件


cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 

-DMYSQL_DATADIR=/data 

-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

  這里說明一下:-DCMAKE_INSTALL_PREFIX是指定安裝的位置,這里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的數(shù)據(jù)目錄,這里是/data,安裝目錄和數(shù)據(jù)目錄都可以自定義設(shè)置,-DSYSCONFDIR是指定配置文件所在的目錄,一般都是/etc ,具體的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1這個參數(shù)一般都要設(shè)置上,表示不安裝tokudb引擎,tokudb是MySQL中一款開源的存儲引擎,可以管理大量數(shù)據(jù)并且有一些新的特性,這些是Innodb所不具備的,這里之所以不安裝,是因為一般計算機默認(rèn)是沒有Percona Server的,并且加載tokudb還要依賴jemalloc內(nèi)存優(yōu)化,一般開發(fā)中也是不用tokudb的,所以暫時屏蔽掉,否則在系統(tǒng)中找不到依賴會出現(xiàn):CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)這樣的錯誤,然后后面那些參數(shù)都是可選的,可以加也可以不加,最后的編碼建議設(shè)置一下,所以編譯指令也可以簡化成下面這樣:


  注意:如果萬一執(zhí)行中有了錯誤,可以執(zhí)行: rm -f CMakeCache.txt 刪除編譯緩存,讓指令重新執(zhí)行,否則每次讀取這個文件,命令修改正確也是報錯


  cmake沒問題,可以編譯并且安裝了: 

make && make install 時間有點長,耐心等待


接下來就是準(zhǔn)備過程了:

首先我們來創(chuàng)建個mysql用戶和mysql用戶組,為什么要創(chuàng)呢?因為你啟動服務(wù)的時候需要mysql用戶來啟動,別的用戶還不行,你要問我為什么,那我可不知道,請去問 Michael Widenius

#groupadd -r mysql

#useradd -r -g mysql mysql


要給你的安裝目錄及數(shù)據(jù)目錄改屬主屬組

chown -R mysql.mysql /usr/local/mysql

chown -R mysql.mysql /data

如果不改的話,之后你的服務(wù)肯定起不來的


接下來將配置文件和啟動文件放入/etc目錄 下

#cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld


修改配置文件將我的數(shù)據(jù)目錄添加進(jìn)去

vim /etc/my.cnf

[mysqld]

datadir = /data


添加PATH環(huán)境變量

vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin


source /etc/profile.d/mysql.sh讀取下,當(dāng)前shell生效


接下來就是初始化數(shù)據(jù)庫了:

初始化:

# /usr/local/mysql/mysqld --initialize --user=mysql      --mysql5.7版本初始化


# /usr/local/mysql/bin/mysql_install_db --user=mysql       --5.6到5.7版本 


# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data --5.5版本


最后就是啟動數(shù)據(jù)庫了:

service mysqld start

設(shè)置開機啟動:

chkconfig mysqld on


之后就可以連接數(shù)據(jù)庫了:

mysql

mysql> SET PASSWORD FOR root@'localhost'=PASSWORD('mysql');修改密碼,不同的版本修改方式有點不同,可自己上網(wǎng)查下。


最后就是點小的問題解決方式:

如果沒給數(shù)據(jù)目錄權(quán)限的話就會出現(xiàn)以下的問題:

chown -R mysql:mysql datadir的位置

** 記得把之前的啟動項關(guān)掉,要不然會占用PID文件,你會發(fā)現(xiàn)你啟動不了過程

還有就是你的server-id 沒有設(shè)置

killall mysqld

1、Starting MySQL.. ERROR! The server quit without updating PID file (/var/mysql/data/localhost.localdomain.pid).

像套接字文件也是這種問題:

2、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

3、可能是第二次在機器上安裝mysql,有殘余數(shù)據(jù)影響了服務(wù)的啟動

解決方法:去mysql的數(shù)據(jù)目錄看看,如果存在mysql-bin.index,就趕快把它刪除掉吧。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI