中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

MySQL概念、應用、管理及其它詳解

發布時間:2020-04-24 16:25:15 來源:億速云 閱讀:269 作者:三月 欄目:MySQL數據庫

本文主要給大家介紹MySQL概念、應用、管理及其它詳解,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現實意義角度出發,億速云累計多年的實踐經驗可分享給大家。

一、MySQL簡介

1、MySQL簡介

MySQL是一個輕量級關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬于Oracle公司。目前MySQL被廣泛地應用在Internet上的中小型網站中,由于體積小、速度快、總體擁有成本低,開放源碼、免費,一般中小型網站的開發都選擇Linux + MySQL作為網站數據庫。
MySQL是一個關系型數據庫管理系統,MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,就增加了速度并提高了靈活性。
MySQL的官方網站的網址是:www.mysql.com

MySQL概念、應用、管理及其它詳解

2、MySQL特性

MySQL是一種使用廣泛的數據庫,特性如下:
A、使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性   
B、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統。   
C、為多種編程語言提供了API。編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。   
D、支持多線程,充分利用CPU資源   
E、優化的SQL查詢算法,有效地提高查詢速度   
F、既能夠作為一個單獨的應用程序應用在客戶端云服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名   
G、提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑   
H、提供用于管理、檢查、優化數據庫操作的管理工具   
I、可以處理擁有上千萬條記錄的大型數據庫

3、MySQL應用

與大型數據庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 目前Internet上流行的網站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統,Apache作為Web服務器,MySQL作為數據庫,PHP作為服務器端腳本解釋器。由于Linux+Apache+MySQL+PHP都是自由或開放源碼軟件(FLOSS),因此使用LAMP不用花一分錢就可以建立起一個穩定、免費的網站系統。

4、MySQL管理

可以使用命令行工具管理MySQL數據庫(命令mysql 和 mysqladmin),也可以從MySQL的網站下載圖形管理工具MySQL Administrator和MySQL Query Browser。   
phpMyAdmin是由php寫成的MySQL資料庫系統管理程式,讓管理者可用Web界面管理MySQL資料庫。   
phpMyBackupPro也是由PHP寫成的,可以透過Web介面創建和管理數據庫。它可以創建偽cronjobs,可以用來自動在某個時間或周期備份MySQL 數據庫。   
另外,還有其他的GUI管理工具,例如早先的mysql-front以及ems mysql manager,navicat 等等。

二、MySLQ存儲引擎

1、MySQL存儲引擎簡介

插件式存儲引擎是MySQL數據庫最重要的特性之一,用戶可以根據應用的需要選擇如何存儲和索引數據庫,是否使用事務等。mySQL默認支持多種存儲引擎,以適應不同領域的數據庫應用需要。用戶可以通過選擇使用不同的存儲引擎提高應用的效率,提供靈活的存儲,用戶設置可以按照自己的需要定制和使用自己的存儲引擎,以實現最大程度的可定制性。
MySQL常用的存儲引擎為MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事務安全表,其他存儲引擎都是非事務安全表。
MyISAM是MySQL的默認存儲引擎。MyISAM不支持事務、也不支持外鍵,但其訪問速度快,對事務完整性沒有要求。
InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是比起MyISAM存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引。MySQL支持外鍵存儲引擎只有InnoDB,在創建外鍵的時候,要求附表必須有對應的索引,子表在創建外鍵的時候也會自動創建對應的索引。

2、MySQL存儲引擎特性

主要體現在性能、事務、并發控制、參照完整性、緩存、故障恢復,備份及回存等幾個方面
目前比較普及的存儲引擎是MyISAM和InnoDB,而MyISAM又是絕大部分Web應用的首選。MyISAM與InnoDB的主要的不同點在于性能和事務控制上。
MyISAM是早期ISAM(Indexed Sequential Access Method)的擴展實現,ISAM被設計為適合處理讀頻率遠大于寫頻率的情況,因此ISAM以及后來的MyISAM都沒有考慮對事物的支持,不需要事務記錄,ISAM的查詢效率相當可觀,而且內存占用很少。MyISAM在繼承了ISAM優點的同時,與時俱進的提供了大量實用的新特性和相關工具。例如考慮到并發控制,提供了表級鎖。而且由于MyISAM是每張表使用各自獨立的存儲文件(MYD數據文件和MYI索引文件),使得備份及恢復十分方便(拷貝覆蓋即可),而且還支持在線恢復。
所以如果應用不需要事務,不支持外鍵,處理的只是基本的CRUD(增刪改查)操作,那么MyISAM是不二選擇。

三、MySQL數據庫安裝

1、MySQL下載

MySQL版本的選擇
MySQL Community Server 社區版本,開源免費,但不提供官方技術支持。
MySQL Enterprise Edition 企業版本,需付費,可以試用30天。
MySQL Cluster 集群版,開源免費。可將幾個MySQL Server封裝成一個Server。
MySQL Cluster CGE 高級集群版,需付費。
MySQL Workbench(GUITOOL)一款專為MySQL設計的ER/數據庫建模工具,是著名的數據庫設計工具DBDesigner4的繼任者。MySQLWorkbench又分為兩個版本,分別是社區版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。
本文選擇MySQL Community Server 5.6.35
下載網址:
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
操作系統選擇:
Red Hat Enterprise Linux/ Oracle Linux
操作系統版本選擇:
Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 64-bit)
下載MySQL捆綁包:
MySQL-5.6.35-1.el6.x86_64.rpm-bundle.tar
MySQL捆綁包包含七個部分:
RHEL兼容包:MySQL-shared-compat-5.6.35-1.el6.x86_64.rpm
MySQL服務端程序:MySQL-server-5.6.35-1.el6.x86_64.rpm
MySQL客戶端程序:MySQL-client-5.6.35-1.el6.x86_64.rpm
MySQL開發庫:MySQL-devel-5.6.35-1.el6.x86_64.rpm
MySQL共享庫:MySQL-shared-5.6.35-1.el6.x86_64.rpm
嵌入式版本:MySQL-embedded-5.6.35-1.el6.x86_64.rpm
測試組件:MySQL-test-5.6.35-1.el6.x86_64.rpm

2、卸載低版本MySQL

查看RHEL 6.8安裝的MySQL版本:
rpm -qa|grep mysql
卸載低版本MySQL:
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps

3、安裝MySQL

解包MySQL捆綁包:
tar -xvf MySQL-5.6.35-1.el6.x86_64.rpm-bundle.tar
A、安裝RHEL兼容包
rpm -ivh MySQL-shared-compat-5.6.35-1.el6.x86_64.rpm
B、安裝MySQL共享庫
rpm -ivh MySQL-shared-5.6.35-1.el6.x86_64.rpm
C、安裝MySQL服務端程序
rpm -ivh MySQL-server-5.6.35-1.el6.x86_64.rpm
D、安裝MySQL客戶端程序
rpm -ivh MySQL-client-5.6.35-1.el6.x86_64.rpm
E、安裝MySQL開發庫
rpm -ivh MySQL-devel-5.6.35-1.el6.x86_64.rpm

4、MySQL配置

拷貝MySQL配置文件到/etc目錄
cp  /usr/share/mysql/my-default.cnf     /etc/mysql.conf
修改/etc/mysql.conf如下:
[client]
password = 123456
port = 3306
default-character-set=utf8
[mysqld]
port = 3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
##設置最大連接數,默認為 151,MySQL服務器允許的最大連接數16384
max_connections=1000
[mysql]
default-character-set = utf8
初始化MySQL數據庫:
/usr/bin/mysql_install_db

5、管理密碼修改

獲取安裝時隨機管理密碼
cat /root/.mysql_secret
# The random password set for the root user at Sun Apr  2 00:52:59 2017 (local time): MwgPucEp8gMz0e20
重設root密碼
mysql -u root -p
提示輸入密碼后輸入隨機管理密碼,進入mysql。
執行SQL語句設置管理密碼
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');
退出mysql

6、設置開機啟動MySQL

chkconfig mysql on
查看
chkconfig --list | grep mysql

7、MySQL默認安裝目錄說明

/var/lib/mysql/     #數據庫目錄
/usr/share/mysql    #配置文件目錄
/usr/bin            #相關命令目錄
/etc/init.d/mysql   #啟動腳本

8、MySQL服務端口開啟

開啟MySQL服務端口3306并保存
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save

9、授權root用戶遠程登錄連接

允許root用戶在任何地方進行遠程登錄,并具有所有庫任何操作權限
先root登錄:mysql -u root -p"root"
在mysql中執行SQL語句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

10、將SQL腳本導入mysql數據庫

mysql -u root -p  //登錄mysql連接
create database test;  //SQL語句創建導入的數據庫
use test;  //選中激活數據庫
source  test.sql;  //導入sql腳本

11、客戶端連接MySQL服務器

telnet連接測試 MySQL服務器
使用telnet xx.xx.xx.xx 3306命令測試Windows客戶端是否能連接MySQL服務器。
如果不能連接可能是Linux服務器的防火墻或是云主機的安全組限制。

12、關閉MySQL服務的域名解析功能

通常MySQL服務會對連接的客戶端進行域名解析,影響訪問MySQL的速度。因此需要關閉MySQL域名解析功能。在/etc/my.cnf配置文件中設置。
在[mysqld]服務欄以下位置設置skip-name-resolve,如下:

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-name-resolve

重啟MySQL服務。

看了以上MySQL概念、應用、管理及其它詳解介紹,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續關注億速云行業資訊板塊,會定期給大家更新行業新聞和知識,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新乡市| 天祝| 文成县| 石狮市| 五华县| 珠海市| 怀化市| 资源县| 广宁县| 东光县| 广南县| 抚远县| 客服| 湖州市| 云阳县| 林周县| 康保县| 黑河市| 九江县| 秭归县| 沅江市| 弥勒县| 玉林市| 宜州市| 都匀市| 阿合奇县| 贺兰县| 子洲县| 尼木县| 衡南县| 霍邱县| 呼图壁县| 平凉市| 靖州| 神木县| 潢川县| 呼伦贝尔市| 朔州市| 旬阳县| 土默特左旗| 湘西|