文章目錄
- 一、MySQL簡介
- 1、Mysql簡介
- 2、MySQL特性
- 3、MySQL應用
- 4、Mysql管理
- 二、MySLQ存盤引擎
- 1、MySQL存盤引擎簡介
- 2、MySQL存盤引擎特性
- 三、MySQL資料庫基本操作
- 1、MySQL下載
- 2、卸載低版本MySQL
- 3、安裝MySQL
- 4、MySQL配置
- 5、管理密碼修改
- 6、設定開機啟動MySQL
- 7、MySQL默認安裝目錄說明
- 8、MySQL服務埠開啟
- 9、授權root用戶遠程登錄連接
- 10、將SQL腳本匯入mysql資料庫
- 11、客戶端連接MySQL服務器
- 12、關閉MySQL服務的域名決議功能
一、MySQL簡介
1、Mysql簡介
MySQL是一個輕量級關系型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬于Oracle公司,目前MySQL被廣泛地應用在Internet上的中小型網站中,由于體積小、速度快、總體擁有成本低,開放原始碼、免費,一般中小型網站的開發都選擇Linux + MySQL作為網站資料庫,
MySQL是一個關系型資料庫管理系統,MySQL是一種關聯資料庫管理系統,關聯資料庫將資料保存在不同的表中,而不是將所有資料放在一個大倉庫內,就增加了速度并提高了靈活性,
MySQL的官方網站的網址是:www.mysql.com
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服務,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/254460.html
標籤:其他
