標籤:
MySQL目前最新版本是5.7.x,這裡安裝的MySQL版本是穩定的5.6.29版本,和5.7版本的版本安裝過程不太一樣,這裡在CentOS 7.2系統上部署過程如下
首先,開啟下載連結:http://www.mysql.com/downloads/,頁面最上面是企業版,一般個人或者企業使用社區版就足夠了,頁面拉到最下方可以看到下載入口:
點選連結進入,然後選擇第一項進入:
這裡預設是5.7.11的版本,我們選擇5.6的下載連結進入:
進入後,預設版本就是5.6.19,對於版本這裡選擇Linux - Generic,也就是通用的二進位版本
然後上面都是RPM的包,我們拉到頁面最下方根據作業系統位元選擇.tar.gz的包,這裡選擇64位的mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
點擊Download下載到本地,然後上傳到伺服器準備安裝
接下來執行安裝過程:
釋放歸檔檔案: tar -xvzf mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
建立mysql目錄並移動至安裝目錄:
mkdir /usr/local/mysqlmv mysql-5.6.29-linux-glibc2.5-x86_64 /usr/local/mysql/cd /usr/local/mysql/mysql-5.6.29-linux-glibc2.5-x86_64/
接下來建立mysql使用者和使用者組:
groupadd mysqluseradd -r -g mysql -s /sbin/nologin mysql
修改目前的目錄許可權為mysql許可權:
chown -R mysql .chgrp -R mysql .
執行安裝: ./scripts/mysql_install_db --user=mysql
如果上一步安裝失敗,提示FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper的話,那麼原因是缺少perl-module,那麼執行命令: yum -y install perl-Module-Install.noarch 安裝perl-module模組,需要下載安裝98個包,這個要耐心等待一會,等待perl-module安裝成功之後,再繼續執行上一步安裝
等安裝成功之後,將許可權修改為合適的許可權:
chown -R root .chown -R mysql data
然後建立mariadb的日誌目錄,否則下一步會報錯,使用命令: mkdir /var/log/mariadb
然後執行mysql安全啟動指令碼: bin/mysqld_safe --user=mysql & 執行後,再按一下斷行符號回到命令列,沒報錯則啟動成功
最後將mysql添加到系統服務: cp support-files/mysql.server /etc/init.d/mysql.server
這時候網上一些教程一般都說可以啟動了,但是啟動的時候會提示錯誤:Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe),表示找不到mysqld_safe,這是因為沒有將mysqld_safe連結到上面提示的目錄,可以修改一下設定檔來指定位置,執行 vim /etc/my.cnf 開啟配置mysql設定檔,如果意外丟失可以拷貝mysql安裝目錄下的my.cnf檔案到/etc/下,根據錯誤提示是/mysqld_safe找不到,所以應該配置my.cnf中basedir的屬性為mysql的安裝目錄,也就是這裡的:/usr/local/mysql/mysql-5.6.29-linux-glibc2.5-x86_64
配置完之後,儲存並退出,然後執行 /etc/init.d/mysql.server start 可以正常啟動mysql服務
然後可以執行 bin/mysql 進入mysql互動介面,如果這裡出現mysql.sock錯誤的提示,繼續編輯/etc/my.cnf檔案,修改其中的socket屬性為:/tmp/mysql.sock即可,或者注釋預設即可,儲存並退出,再次進入mysql互動介面就可以了
輸入 quit 可以退出互動介面,mysql初始密碼為空白,可以使用mysqladmin為mysql伺服器設定一個密碼:
bin/mysqladmin -u root password ‘123456‘
修改完成後通過執行命令: bin/mysql -uroot -p 斷行符號後繼續輸入密碼即可登入mysql
如果後續需要修改密碼,因為mysql資料庫密碼是存放在mysql的一個資料庫中的user表中,那麼可以通過SQL語句實現,首先登入mysql資料庫在mysql提示符中進行如下操作即可修改密碼:
mysql> USE mysql;mysql> UPDATE user SET Password=PASSWORD(‘newpass‘) WHERE User = ‘root‘;mysql> FLUSH PRIVILEGES;
通過以上3步即可修改為你想要的密碼,並且下次立即生效,現在資料庫在本地就可以正常使用了,
後來可以把mysql添加至環境變數中,便於直接輸入mysql進入,不用加路徑了,這個是可選的,根據自己的需要即可
現在還要注意一個問題,雖然通過命令列可以進入了,但是我們從其他主機編寫的程式是無法串連到這台伺服器的,在生產環境中這樣肯定是不行的,所以我們要對所有主機開放授權,這樣才可以正常訪問,首先我們登入mysql,然後執行下面命令可以給所有主機開放root使用者的授權:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘setpassword‘ WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;
第一行指令的%代表所有主機來源,setpassword可以設定和本地mysql不同的密碼,當然一般情況下相同即可,執行完上面的指令後mysql就可以從外網立即串連了,到這裡mysql基本的安裝配置就完成了
Linux下安裝MySQL資料庫