本週給你們帶來的是關於mysql的二進制格式的安裝,咱們對於mysql的安裝通常有兩種方式,一是經過yum安裝,二是經過二進制格式的安裝,第一種方法yum安裝的方式很是簡單,以下:mysql
Centos6:yum install mysql-server Centos7:yum instlal mariadb-server
可是簡單的背後就是各類限制,數據庫文件被限制,配置文件也被限制,軟件版本的限制,咱們只能被動的使用,而若是咱們使用二進制格式的安裝就能夠指定數據庫文件放在什麼地方,配置文件也都是咱們本身制定,有利於靈活的使用,還有新版本的使用,還有一種不方便的安裝方式,那即是本身手動編譯安裝,由於mysql文件其實蠻大的,編譯事後可能超過10G,並且編譯也須要大量的時間,因此咱們就把別人編譯過得二進制文件拿過來安裝,本次實驗是基於Centos7,安裝包爲mariadb-10.2.8-linux-x86_64.tar.gz
linux
首先,咱們須要新建一個mysql的用戶,出於安全設置其登陸方式爲/sbin/nologin,指定其家目錄爲/app/mysqldb,個人這個/app是專門新建的一個文件夾,由於之後咱們的數據庫文件會放在這裏,在生產環境中,該文件夾中的數據庫會愈來愈大,若是咱們使用的是lvm邏輯卷的方式,還能夠擴展,而使用的普通分區就儘可能選擇大一點的文件夾,新建用戶代碼以下:sql
useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql
咱們須要在https://downloads.mariadb.org/獲取mariadb-10.2.8-linux-x86_64.tar.gz,而後解壓縮到指定的目錄/usr/local/,這個是固定的目錄,不可更改,咱們卻切換到該目錄下,爲了方便咱們把該目錄進行連接爲/mysql數據庫
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ cd /usr/local/ ln -s mariadb-10.2.8-linux-x86_64/ mysql
作完這些咱們查看了一下,在/etc下並無關於mysql的相關配置,因此須要咱們本身來完成該配置文件的完成,新建了一個mysql的目錄,是爲了便於管理,畢竟/etc下的文件不少,找到咱們新建的文件中的[mysqld]的下面加入咱們須要的三行代碼,
vim
mkdir /etc/mysql/ cd /usr/local/mysql/ cp support-files/my-huge.cnf /etc/mysql/my.cnf vim /etc/mysql/my.cnf [mysqld] datadir = /app/mysqldb #指定數據庫的目錄 innodb_file_per_table = on #將每一個表都放在單獨的文件夾中 skip_name_resolve = on #禁止主機名解析(不關閉,會致使數據庫運行慢)
而後咱們開始指定安裝,咱們還在/usr/local/mysql/下,爲何要這樣安裝呢,是由於別人在編譯腳本里已經寫死了,因此咱們在這個相對路徑下,才能安裝成功安全
scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb
安裝事後,爲了使咱們之後的使用更加方便,因此咱們須要咱們進行如下操做:
bash
cp support-files/mysql.server /etc/init.d/mysqld chkconfig --list mysqld #查看chkconfig中是否有咱們的mysqld chkconfig --add mysqld #添加mysqld進入chkconfig service mysqld start #啓動mysqld,跟系統應用同樣的方式,不過這一步註定會失敗
失敗的緣由是什麼呢?缺乏日誌文件,或者說對日誌沒有讀寫的權限,因此咱們要更改咱們要更改文件夾的全部者或者使用ACl,爲了簡便,我使用了改變全部者的方式:app
mkdir /var/log/mariadb/ chown mysql /var/log/mariadb/ service mysqld start #啓動成功
而後咱們須要把執行路徑修改一下,由於咱們不能使用都打出所有路徑,那樣也太蠢了。ide
vi /etc/profile.d/mysql.sh #寫入文件,之後也能生效 PATH=/usr/local/mysql/bin:$PATH #增長到PATH中 . /etc/profile.d/mysql.sh #source一下,生效。
而後咱們的mysql就算完成了,爲何說算呢?由於安全隱患:mysql安裝以後,有安全隱患,不管什麼身份只要在本機,就能以root登陸mysql,mysql能夠匿名連接,不過權限不大,也算是小安全隱患spa
解決:
/usr/bin/mysql_secure_installation
這個腳本是個交互式的,不過很簡單,咱們在裏面關閉匿名登陸,和設置口令就能夠保證mysql的進一步的安全,不過下一次登陸時,須要輸入密碼;
mysql -uroot -p #-u[user] [-hhost]不寫默認本機登陸 -p[PASSWD] 就是口令
至此咱們的mysql的二進制的安裝就完成了,而後就能夠愉快的使用了!