您好,登錄后才能下訂單哦!
本周給大家帶來的是關于mysql的二進制格式的安裝,我們對于mysql的安裝一般有兩種方式,一是通過yum安裝,二是通過二進制格式的安裝,第一種方法yum安裝的方式非常簡單,如下:
Centos6:yum install mysql-server Centos7:yum instlal mariadb-server
但是簡單的背后就是各種限制,數據庫文件被限制,配置文件也被限制,軟件版本的限制,我們只能被動的使用,而如果我們使用二進制格式的安裝就可以指定數據庫文件放在什么地方,配置文件也都是我們自己制定,有利于靈活的使用,還有新版本的使用,還有一種不方便的安裝方式,那便是自己手動編譯安裝,因為mysql文件其實蠻大的,編譯過后可能超過10G,而且編譯也需要大量的時間,所以我們就把別人編譯過得二進制文件拿過來安裝,本次實驗是基于Centos7,安裝包為mariadb-10.2.8-linux-x86_64.tar.gz
首先,我們需要新建一個mysql的用戶,出于安全設置其登錄方式為/sbin/nologin,指定其家目錄為/app/mysqldb,我的這個/app是專門新建的一個文件夾,因為以后我們的數據庫文件會放在這里,在生產環境中,該文件夾中的數據庫會越來越大,如果我們使用的是lvm邏輯卷的方式,還可以擴展,而使用的普通分區就盡量選擇大一點的文件夾,新建用戶代碼如下:
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]的下面加入我們需要的三行代碼,
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
安裝過后,為了使我們以后的使用更加方便,所以我們需要我們進行以下操作:
cp support-files/mysql.server /etc/init.d/mysqld chkconfig --list mysqld #查看chkconfig中是否有我們的mysqld chkconfig --add mysqld #添加mysqld進入chkconfig service mysqld start #啟動mysqld,跟系統應用一樣的方式,不過這一步注定會失敗
失敗的原因是什么呢?缺少日志文件,或者說對日志沒有讀寫的權限,所以我們要更改我們要更改文件夾的所有者或者使用ACl,為了簡便,我使用了改變所有者的方式:
mkdir /var/log/mariadb/ chown mysql /var/log/mariadb/ service mysqld start #啟動成功
然后我們需要把執行路徑修改一下,因為我們不能使用都打出全部路徑,那樣也太蠢了。
vi /etc/profile.d/mysql.sh #寫入文件,以后也能生效 PATH=/usr/local/mysql/bin:$PATH #增加到PATH中 . /etc/profile.d/mysql.sh #source一下,生效。
然后我們的mysql就算完成了,為什么說算呢?因為安全隱患:mysql安裝之后,有安全隱患,無論什么身份只要在本機,就能以root登錄mysql,mysql可以匿名鏈接,不過權限不大,也算是小安全隱患
解決:
/usr/bin/mysql_secure_installation
這個腳本是個交互式的,不過很簡單,我們在里面關閉匿名登錄,和設置口令就可以保證mysql的進一步的安全,不過下一次登錄時,需要輸入密碼;
mysql -uroot -p #-u[user] [-hhost]不寫默認本機登錄 -p[PASSWD] 就是口令
至此我們的mysql的二進制的安裝就完成了,然后就可以愉快的使用了!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。