接上一回的話,CentOS7.0下安裝好了Nginx服務,對於我們的CNMP,我們可以開始我們的M啦,就是傳統意義上的MySql服務 MySql簡介 MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。在 WEB 應用方面,MySQL是最好的 R ...
接上一回的話,CentOS7.0下安裝好了Nginx服務,對於我們的CNMP,我們可以開始我們的M啦,就是傳統意義上的MySql服務
MySql簡介
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體。
官網:https://www.mysql.com/
與其他大型資料庫例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQ L是開放源碼軟體,因此可以大大降低總體擁有成本。
總體來講,MySql的特點就是,開源,輕量,社區活躍。
MySql獲取
CentOS7.0 mini版上預設是沒有安裝MySql服務的,所以,我們需要自行安裝。
MySql的安裝有兩種形式,yum安裝和源碼安裝,個人推薦源碼安裝。(因為沒有找到源代碼,後續有機會奉上源代碼安裝的博文,今天介紹二進位碼的安裝)
首先,需要到官網找到MySql的源。來到官網,我們可以看到好多版本,究竟該下載哪個呢?
第一個 MySQL Community Server,這個不要錢!
第二個 MySQL Enterprise 這個要掏錢,不過可以打電話咨詢問題,也就是電話技術支持。(土豪想打oracle電話騷擾客服妹子隨意)
第三個 MySQL Cluster,這個單獨是沒法用的,要在1或2的基礎上用。當然用來平衡多台資料庫的。
第四個 MySQL Workbench,這是個好東西,用來設計資料庫的。erwin知道嗎?他就是這個作用。(本人也在用這個,只是在mac經常莫名其妙的退出,還未得到解決)
好的,瞄準目標,MySQL Community Server,開始下載。
#wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
這可能需要點時間,讓我們先來看看其他內容吧,下載下來之後就是解壓,進入目錄
#tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
#cd mysql-5.6.35-linux-glibc2.5-x86_64
創建MySql用戶和組
創建 /usr/local/mysql/data 目錄
#mkdir /usr/local/mysql
新增MySql用戶組
#groupadd mysql
新增mysql用戶並設置不可用此賬戶登錄終端
#useradd -r -g mysql mysql -s /sbin/nologin
新增mysql用戶和組對mysql根目錄的讀許可權
#chown -R mysql.mysql /usr/local/mysql/
安裝MySql
轉移MySql文件到/usr/local/mysql中,到達指定目錄,安裝
#mv ./* /usr/local/mysql/
#cd /usr/local/mysql
#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
perl組件沒有安裝,報錯,這時,我們需要安裝下perl組件
#yum install -y perl-Module-Install.noarch
再次安裝,安裝完成。
配置MySql
複製配置文件到 /etc/my.cnf,替換原有的文件
#cp -a ./support-files/my-default.cnf /etc/my.cnf
將mysql的服務腳本放到系統服務中
#cp -a ./support-files/mysql.server /etc/init.d/mysqld
配置防火牆
防火牆的3306埠預設沒有開啟,若要遠程訪問,需要開啟這個埠
打開/etc/sysconfig/iptables
#vim /etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
“-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT”
然後保存,並關閉該文件,在終端內運行下麵的命令,刷新防火牆配置:
#service iptables restart
OK,一切配置完畢,你可以訪問你的MySQL了~
啟動MySql服務
#service mysqld start
看到success!表明啟動mysql成功。可以ps aux | grep mysql查看。
進入操作頁面,現在使用無密碼登錄,密碼設置下麵講到。
#/usr/local/mysql/bin/mysql -uroot
進入後可以盡情的玩耍啦!
密碼設置
MySQL啟動成功後,root預設沒有密碼,我們需要設置root密碼。
設置之前,我們需要先設置PATH,要不不能直接調用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
關閉文件,運行下麵的命令,讓配置立即生效
#source /etc/profile
現在,我們可以在終端內直接輸入mysql進入,mysql的環境了
執行下麵的命令修改root密碼
#mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
若要設置root用戶可以遠程訪問,執行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
password為遠程訪問時,root用戶的密碼,可以和本地不同。
現在,你就可以使用密碼123456本地密碼登錄mysql伺服器,使用password遠程密碼登錄遠程伺服器啦,趕緊試試吧。
好了,今天關於mysql的講解就到此為止,大家有什麼不明白的歡迎在評論區評論,一起探討交流!
註
重啟伺服器之後存在兩個問題
1、沒有自動啟動mysqld服務
#chkconfig --add mysqld
然後用這個命令設置開機啟動:
#chkconfig mysqld on
最後chkconfig --list確認一下是否設置成功
2、遠程不能再次鏈接mysql了
查看防火牆狀態,可能是因為防火牆的原因,導致mysql服務埠3306被阻止了。