? ? 前言?
? ? ? ? ?1.數(shù)據(jù)庫(kù)能做什么
2.數(shù)據(jù)庫(kù)的由來(lái)
數(shù)據(jù)庫(kù)的系統(tǒng)結(jié)構(gòu)?
1.數(shù)據(jù)庫(kù)系統(tǒng)DBS
2.SQL語(yǔ)言(結(jié)構(gòu)化查詢語(yǔ)言)
3.數(shù)據(jù)訪問(wèn)技術(shù)
部署Mysql?
1.通過(guò)rpm安裝部署Mysql
2.通過(guò)源碼包安裝部署Mysql
前言?
1.數(shù)據(jù)庫(kù)能做什么
a.不論是淘寶,吃雞,愛(ài)奇藝,抖音,快手,知乎,百度貼吧等,眾所周知的服務(wù)程序
b.存儲(chǔ)的數(shù)據(jù),包含用戶的賬號(hào),密碼,級(jí)別,存款,余額,等級(jí),購(gòu)物記錄,頭像本地路徑,視頻文件路徑
c.只要是信息,就一定在數(shù)據(jù)庫(kù)里
2.數(shù)據(jù)庫(kù)的由來(lái)
1.人工管理階段相當(dāng)于過(guò)去的賬本
2.文件系統(tǒng)階段相當(dāng)于前段時(shí)間的excel
3.數(shù)據(jù)庫(kù)系統(tǒng)管理階段------MySQl
數(shù)據(jù)庫(kù)的系統(tǒng)結(jié)構(gòu)?
1.數(shù)據(jù)庫(kù)系統(tǒng)DBS
a.數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System, DBMS):?
SQL? ? ?(RDS關(guān)系型數(shù)據(jù)庫(kù))
ORACLE
Oracle MySQL
DB2(IBM)
SQL-server(MS)
Mysql
MariaDB
Percona server(taobao)
b.DBA:工程師? administrator
2.SQL語(yǔ)言(結(jié)構(gòu)化查詢語(yǔ)言)
SQL(Structured Query Language 即結(jié)構(gòu)化查詢語(yǔ)言)
a.DDL語(yǔ)句? ?數(shù)據(jù)庫(kù)定義語(yǔ)言: 數(shù)據(jù)庫(kù),表,視圖,索引,存儲(chǔ)過(guò)程,函數(shù),創(chuàng)建刪除ALTER(CREATE DROP ALTER)?
b.DML語(yǔ)句 數(shù)據(jù)庫(kù)操縱語(yǔ)言: 插入數(shù)據(jù)INSERT、刪除數(shù)據(jù)DELETE、更新數(shù)據(jù)UPDATE
c.DQL語(yǔ)句? ?數(shù)據(jù)庫(kù)查詢語(yǔ)言:查詢數(shù)據(jù)SELECT
d.DCL語(yǔ)句 數(shù)據(jù)庫(kù)控制語(yǔ)言:? 例如控制用戶的訪問(wèn)權(quán)限GRANT,REVOKE
3.數(shù)據(jù)訪問(wèn)技術(shù)
a.? ?ODBC PHP <.php>
b.? ?JDBC? ?JAVA <.jsp>
c.? ?ASP.NET? <c#>
版本:Mysql5.7
部署Mysql?
Mysql官網(wǎng):www.mysql.com
? ? ? ? ? ? ? ? ? ? ?www.oracle.com
1.通過(guò)rpm安裝部署Mysql
硬件:內(nèi)存不能少于2G
a.首先關(guān)閉防火墻和selinux
systemctl stop ?firewalld 立刻停止防火墻
systemctl disable ?firewalld 開(kāi)機(jī)禁用防火墻
setenforce 0 立刻停止selinux
開(kāi)機(jī)禁用selinux
?? ?# vim ? ?/etc/selinux/config
?? ??? ?SELINUX=disabled
b.從官網(wǎng)下載軟件包
參考:中國(guó)科學(xué)技術(shù)大學(xué)開(kāi)源軟件鏡像USTC Open Source Software Mirrorhttp://mirrors.ustc.edu.cn/
yum install -y lrzsz #上傳
rz上傳到服務(wù)器上
c.安裝相關(guān)的軟件
[root@server-1 ~]# yum install -y net-tools.x86_64 libaio.x86_64 perl.x86_64
d.安裝Mysql服務(wù)器
[root@server-1 ~]# yum install -y mysql-community*
e.啟動(dòng)Mysql服務(wù)器
systemctl start mysqld //啟動(dòng)mysql
systemctl enable mysqld //啟用MySQL
systemctl status mysqld //查看mysql狀態(tài)
f.查詢Mysql服務(wù)器默認(rèn)密碼
grep 'password' /var/log/mysqld.log
g.修改Mysql服務(wù)器密碼
mysqladmin -uroot -p'9M8ghQiW7Y-k' password 'QianFeng@123'
h.登錄Mysql系統(tǒng)
mysql -uroot -p'QianFeng@123'
i.查到默認(rèn)數(shù)據(jù)庫(kù)
show? ?databases; #默認(rèn)查詢數(shù)據(jù)庫(kù)
j.MySQL配置完成關(guān)機(jī)快照
2.通過(guò)源碼包安裝部署Mysql
源碼安裝特點(diǎn):
源碼安裝
與二進(jìn)制(RPM)發(fā)行版本相比,如果我們選擇了通過(guò)源代碼進(jìn)行安裝,那么在安裝過(guò)程中我們能夠?qū)ySQL
所做的調(diào)整將會(huì)更多更靈活一些。因?yàn)橥ㄟ^(guò)源代碼編譯我們可以:
a) 針對(duì)自己的硬件平臺(tái)選用合適的編譯器來(lái)優(yōu)化編譯后的二進(jìn)制代碼;
b) 根據(jù)不同的軟件平臺(tái)環(huán)境調(diào)整相關(guān)的編譯參數(shù);
c) 針對(duì)我們特定應(yīng)用場(chǎng)景選擇需要什么組件不需要什么組件;
d) 根據(jù)我們的所需要存儲(chǔ)的數(shù)據(jù)內(nèi)容選擇只安裝我們需要的字符集;
e) 同一臺(tái)主機(jī)上面可以安裝多個(gè)MySQL;
f) 等等其他一些可以根據(jù)特定應(yīng)用場(chǎng)景所作的各種調(diào)整。
在源碼安裝給我們帶來(lái)更大靈活性的同時(shí),同樣也給我們帶來(lái)了可能引入的隱患:
a) 對(duì)編譯參數(shù)的不夠了解造成編譯參數(shù)使用不當(dāng)可能使編譯出來(lái)的二進(jìn)制代碼不夠穩(wěn)定;
b) 對(duì)自己的應(yīng)用環(huán)境把握失誤而使用的優(yōu)化參數(shù)可能反而使系統(tǒng)性能更差;
c) 還有一個(gè)并不能稱之為隱患的小問(wèn)題就是源碼編譯安裝將使安裝部署過(guò)程更為復(fù)雜,所花費(fèi)的時(shí)間更長(zhǎng);
準(zhǔn)備編譯環(huán)境:
a.準(zhǔn)備不小于2G內(nèi)存的服務(wù)器
b.編譯軟件
# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
c.安裝Mysql
準(zhǔn)備源碼包:
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
# tar xvf mysql-5.7.19.tar.gz
# cd mysql-5.7.19
# pwd
/root/mysql-5.7.19
# mv ../boost_1_59_0.tar.gz ?.
[root@mysql3 mysql-5.7.19]# tar xf ?boost_1_59_0.tar.gz? ? ???注意包的位置配置:
[root@mysql-5.7.17 ~]# cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DINSTALL_MANDIR=/usr/share/man \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 參數(shù)詳解: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安裝目錄 -DSYSCONFDIR=/etc \ 配置文件存放 (默認(rèn)可以不安裝配置文件) -DMYSQL_DATADIR=/usr/local/mysql/data \ 數(shù)據(jù)目錄 錯(cuò)誤日志文件也會(huì)在這個(gè)目錄 -DINSTALL_MANDIR=/usr/share/man \ 幫助文檔 -DMYSQL_TCP_PORT=3306 \ 默認(rèn)端口 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ sock文件位置,用來(lái)做網(wǎng)絡(luò)通信的,客戶端連接服務(wù)器的時(shí)候用 -DDEFAULT_CHARSET=utf8 \ 默認(rèn)字符集。字符集的支持,可以調(diào) -DEXTRA_CHARSETS=all \ 擴(kuò)展的字符集支持所有的 -DDEFAULT_COLLATION=utf8_general_ci \ 支持的 -DWITH_READLINE=1 \ 上下翻歷史命令 -DWITH_SSL=system \ 使用私鑰和證書(shū)登陸(公鑰) 可以加密。 適用與長(zhǎng)連接。壞處:速度慢 -DWITH_EMBEDDED_SERVER=1 \ 嵌入式數(shù)據(jù)庫(kù) -DENABLED_LOCAL_INFILE=1 \ 從本地倒入數(shù)據(jù),不是備份和恢復(fù)。 -DWITH_INNOBASE_STORAGE_ENGINE=1 默認(rèn)的存儲(chǔ)引擎,支持外鍵
編譯安裝:
#? ?make && make install
d.初始化
# cd /usr/local/mysql? ? 進(jìn)入安裝位置
# mkdir mysql-files??
# chown -R mysql.mysql ?/usr/local/mysql? ? ?注意目錄名稱? ? ?賦予權(quán)限
# ?/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
?? ?會(huì)生產(chǎn)臨時(shí)密碼,在屏幕上。?保存臨時(shí)密碼。# ?/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
建立Mysql配置文件my.cnf:
備份原有的配置文件
# mv /etc/my.cnf ?~
修改配置文件
# vim /etc/my.cnf?
[root@mysql-server ~]# vim /etc/my.cnf --如果打開(kāi)文件有內(nèi)容將文件中所有內(nèi)容注釋掉,在添加如下內(nèi)容 [client] port = 3306 socket = /tmp/mysql.sock default-character-set = utf8 [mysqld] port = 3306 user = mysql basedir = /usr/local/mysql #指定安裝目錄 datadir = /usr/local/mysql/data #指定數(shù)據(jù)存放目錄 socket = /tmp/mysql.sock character_set_server = utf8 [client] # 默認(rèn)連接端口 port = 3306 # 用于本地連接的socket套接字 socket = /tmp/mysql.sock # 編碼 default-character-set = utf8 [mysqld] # 服務(wù)端口號(hào),默認(rèn)3306 port = 3306 # mysql啟動(dòng)用戶 user = mysql # mysql安裝根目錄 basedir = /usr/local/mysql # mysql數(shù)據(jù)文件所在位置 datadir = /usr/local/mysql/data # 為MySQL客戶端程序和服務(wù)器之間的本地通訊指定一個(gè)套接字文件 socket = /tmp/mysql.sock # 數(shù)據(jù)庫(kù)默認(rèn)字符集,主流字符集支持一些特殊表情符號(hào)(特殊表情符占用4個(gè)字節(jié)) character_set_server = utf8
e.開(kāi)機(jī)啟動(dòng)Mysql
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld? ? ?添加mysql服務(wù)
# 啟動(dòng)mysql? ?systemctl enable mysqld?
chkconfig mysqld on? ?開(kāi)機(jī)自動(dòng)啟動(dòng)MySQL服務(wù)
service mysqld start
ps aux | grep mysqld
?修改數(shù)據(jù)庫(kù)密碼并登錄
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-634988.html
?show databases;? ? ? ? ?查看默認(rèn)數(shù)據(jù)庫(kù)即可文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-634988.html
到了這里,關(guān)于開(kāi)源數(shù)據(jù)庫(kù)Mysql_DBA運(yùn)維實(shí)戰(zhàn) (部署服務(wù)篇)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!