前言:
為盈江等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及盈江網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、盈江網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
無論大家從事的是什么行業(yè),大家或許都聽說過數(shù)據(jù)庫這個(gè)詞匯。在今天互聯(lián)網(wǎng)高速發(fā)展的時(shí)代數(shù)據(jù)庫與我們的生活息息相關(guān),例如你在公司上班需要登記員工的信息錄入到數(shù)據(jù)庫中,數(shù)據(jù)庫沒有那么高深難懂,筆者本人所理解的數(shù)據(jù)庫就是感覺它是一種類excel表格的一種程序,但是它又優(yōu)于excel。本文將為大家簡述一下關(guān)于MySQL數(shù)據(jù)庫的基本操作。
MySQL簡介:
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。
Relational 美[r'lenl]
Database美[detbes]
Management美[mndmnt]
MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。
雙授權(quán)政策:開放源代碼版本和商業(yè)版本。例如:很多公司出售應(yīng)用軟件,例如Microsoft、Apple和Oracle;如Red Hat和IBM,則通過為其開放源代碼軟件提供銷售支援、托管或咨詢等服務(wù)來進(jìn)行賺錢。但鮮為人知的是,企業(yè)可以透過開放源代碼發(fā)布他們的軟件,也可以同時(shí)銷售該軟件的商業(yè)版本。
--------------------------尊敬的讀者您好:您已經(jīng)進(jìn)入實(shí)踐操作區(qū)域------------------------------------
安裝軟件之前筆者有個(gè)習(xí)慣就是去看看軟件描述信息,這樣有助于我們了解軟件用途以及出現(xiàn)問題去官網(wǎng)找問題的解決辦法因?yàn)楣倬W(wǎng)有絕大多軟件的QA。
yum info mysql-server
Name:軟件包名稱mysq-server
Arch:系統(tǒng)架構(gòu)X86_64
Version:軟件包版本5.1.73
Release:發(fā)布者版本號(hào)7.e16
Size:軟件包大小為25M
Repo:該軟件包來至于base倉庫
Summary:軟件概述這是MySQL服務(wù)的相關(guān)文件
URL:官網(wǎng)地址http://www.mysql.com
License:授權(quán)許可遵循GPL v2版許可協(xié)議
Description:詳細(xì)描述
MySQL是一個(gè)多用戶,多線程的SQL數(shù)據(jù)庫服務(wù)器。 MySQL是一個(gè)由服務(wù)端守護(hù)程序(mysqld)組成的客戶端/服務(wù)端來實(shí)現(xiàn)工作,以及許多不同的庫與客戶端程序。 這個(gè)軟件包含MySQL服務(wù)端和一些附帶的文件目錄。
yum info mysql //這是查看MySQL客戶端的軟件信息和面的描述大同小異讀者朋友可以自行翻譯一下本文就不多做介紹了。
------------------------------------以上內(nèi)容為本人工作學(xué)習(xí)的習(xí)慣-------------------------------------
安裝軟件
yum install mysql-server mysql //本文所用環(huán)境是Centos6.8系統(tǒng) mysql-server //MySQL服務(wù)端 mysql //MySQL客戶端
******************安裝過程略***************
這里為了避免大家出現(xiàn)各種奇怪的錯(cuò)誤請先關(guān)閉防火墻和selinux
service iptables stop //本次關(guān)閉防火墻服務(wù) chkconfig iptables off //下次開機(jī)永久關(guān)閉防火墻 setenforce 0 //臨時(shí)關(guān)閉SELinux getenforce //查看selinux現(xiàn)在的狀態(tài) Disabled //關(guān)閉的 Permissive //關(guān)閉的 Enforcing //開啟的 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config //下次開機(jī)永久關(guān)閉selinux
啟動(dòng)MySQL服務(wù)
service mysqld start Starting mysqld: [ OK ]
加固mysql服務(wù)器,在安裝完成后,運(yùn)行mysql_secure_installation命令
mysql_secure_installation Enter current password for root (enter for none):直接回車 輸入當(dāng)前root(這里的root是數(shù)據(jù)庫管理員名與系統(tǒng)無關(guān))用戶的密碼默認(rèn)為空直接回車 Set root password? [Y/n]y 為root用戶設(shè)置密碼 New password: 設(shè)置root用戶的密碼 Re-enter new password: 再輸入一次確認(rèn)你設(shè)置的密碼 Remove anonymous users? [Y/n]y 是否刪除匿名用戶,生產(chǎn)環(huán)境建議刪除,所以直接回車 Disallow root login remotely? [Y/n]y 是否關(guān)閉root遠(yuǎn)程登錄,根據(jù)自己的需求選擇Y/n并回車,建議禁止 Remove test database and access to it? [Y/n]y 是否刪除test的測試庫,通常都刪除所以輸入y或者直接回車 Reload privilege tables now? [Y/n] 是否立即重新加載授權(quán)表,輸入y或者直接回車 現(xiàn)在就可以使用mysql -h 127.0.0.1 -uroot -p來進(jìn)入你的數(shù)據(jù)庫了
常用選項(xiàng):
-u, --user=username:用戶名,默認(rèn)為root;
-h, --host=hostname:遠(yuǎn)程主機(jī)(即mysql服務(wù)器)地址,默認(rèn)為localhost; 客戶端連接服務(wù)端,服務(wù)器會(huì)反解客戶的IP為主機(jī)名,關(guān)閉此功能(skip_name_resolve=ON);
-p, --password[=PASSWORD]:USERNAME所表示的用戶的密碼; 默認(rèn)為空;
注意:mysql的用戶賬號(hào)由兩部分組成:
'USERNAME'@'HOST';
其中HOST用于限制此用戶可通過哪些遠(yuǎn)程主機(jī)連接當(dāng)前的mysql服務(wù);HOST的表示方式,支持使用通配符;
%:匹配任意長度的任意字符;
172.16.%.%, 172.16.0.0/16
_:匹配任意單個(gè)字符;
-P, --port=#:mysql服務(wù)器監(jiān)聽的端口;默認(rèn)為3306/tcp;
-S, --socket=/PATH/TO/mysql.sock:套按字文件路徑;
-D, --database=DB_name:連接到服務(wù)器端之后,設(shè)定其處指明的數(shù)據(jù)庫為默認(rèn)數(shù)據(jù)庫;
-e, --execute='SQL STATEMENT':連接至服務(wù)器并讓其執(zhí)行此命令后直接返回;
系統(tǒng)管理
連接MySQL
命令格式: mysql -h 主機(jī)地址 -u用戶名 -p用戶密碼
例 1:連接本地主機(jī)
[root@node2 ~]#mysql -uroot -p
例 2:連接遠(yuǎn)程主機(jī)庫
[root@node2 ~]#mysql -h 127.0.0.1 -uroot -p111111
增加新用戶
命令格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by '密碼'
舉例:
例 1:增加一個(gè)用戶 dev1 密碼為 dev123,讓他可以在任何主機(jī)上登錄,并對所有數(shù)據(jù)庫有
查詢、插入、修改、刪除的權(quán)限。
首先用以 root 用戶連入 MySQL,然后鍵入以下命令:
mysql> grant select,insert,update,delete on *.* to dev1@localhost identified by'dev123'; 或者 grant all privileges on *.* to dev1@localhost identified by 'dev123';
然后刷新權(quán)限設(shè)置。
flush privileges;
例 2:如果你不想 root 有密碼操作數(shù)據(jù)庫“class”里的數(shù)據(jù)表,可以再打一個(gè)命令將密碼消掉。
grant select,insert,update,delete on class.* to root@localhost identified by '';
刪除用戶
命令格式: DROP USER 'username'@'host';
舉例:
mysql> drop user 'dev1'@'localhost'; mysql> flush privileges;
刪除用戶的數(shù)據(jù)庫
mysql>drop database dbname;
庫操作
顯示所有的數(shù)據(jù)庫
mysql> show databases;(注意:最后有個(gè) s)
創(chuàng)建數(shù)據(jù)庫
mysql> create database newdb;
刪除數(shù)據(jù)庫
mysql> drop database newdb;
連接數(shù)據(jù)庫
mysql> use newdb; 也可以登錄的時(shí)候指定使用哪個(gè)庫 mysql -h 127.0.0.1 -uroot -p newdb;(注意:-p后面有個(gè)空格然后是你要使用的庫名稱)
查看當(dāng)前使用的數(shù)據(jù)庫
mysql> select database();
當(dāng)前數(shù)據(jù)庫包含的表信息
mysql> show tables; (注意:最后有個(gè) s)
表操作
注:操作之前使用“use 數(shù)據(jù)庫名”應(yīng)連接某個(gè)數(shù)據(jù)庫。
創(chuàng)建表
命令格式:create table 表名 (字段名I 類型I 字段名II 類型II );
例:
mysql> create table dev(id int (4) not null primary key auto_increment, > name char(20) not null,sex int(4)not null default '0', > joinyear DATE not null);
獲取表結(jié)構(gòu)
命令格式: desc 表名,或者show columns from 表名
例:查看我們剛才創(chuàng)建好的dev這張表
mysql> desc dev; 或者 mysql> show columns from dev;
刪除表
命令格式:drop table <表名>
例如:刪除表名為 m23info 的表
mysql> drop table m23info;
插入數(shù)據(jù)
命令格式:insert into <表名> VALUES ('設(shè)定值1','設(shè)定值2','設(shè)定值3','設(shè)定值4');
例子:
mysql> INSERT INTO dev VALUES('2','Jeck','0','2012-12-25');
查詢表中的數(shù)據(jù)
查詢所有行
mysql> select * from dev;
查詢前幾行數(shù)據(jù)
例如:查看表 dev 中前 2 行數(shù)據(jù)
mysql> select * from dev order by id limit 0,2;
或者
mysql> select * from dev limit 0,2;
刪除表中數(shù)據(jù)
命令格式:delete from 表名 where 表達(dá)式
例:刪除表 dev 中編號(hào)為 1 的記錄
mysql> delete from dev where id=1;
很明顯剛才的id為1的那條記錄已經(jīng)被刪除;
修改表中數(shù)據(jù)
命令:update 表名 set 字段=新值,... where 條件
mysql> update dev set name='Boss' where id=2;
把原來ID號(hào)是2的jeck改成了Boss
在表中增加字段
命令格式:alter table 表名 add 字段 類型 其他;
例:在表 dev 中添加了一個(gè)字段 Duties類型為 int(5),默認(rèn)值為 0
mysql> alter table dev add Duties int(5) default '0';
更改表名
命令格式:rename table 原表名 to 新表名;
例如:在表 dev 名字更改為 opt
mysql> rename table dev to opt;
數(shù)據(jù)庫導(dǎo)入導(dǎo)出
從數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)庫文件
使用“mysqldump”命令
1)導(dǎo)出newdb數(shù)據(jù)庫
命令格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p -A>[備份文件的保存路徑]
mysqldump -uroot -p密碼 newdb >/sqlbackup/newdb`date +%F-%T`.sql //備份newdb到/sqlbackup/下命名為newdb+時(shí)間戳.sql
2)導(dǎo)出數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)
格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p [要備份的數(shù)據(jù)庫名稱]>[備份文件的保存路徑]
舉例:
例 1:將數(shù)據(jù)庫 mydb 導(dǎo)出到 /sqlbackup下的mysqldb.sql。
mysqldump -h localhost -uroot -p mysql > /sqlbackup/mysqldb.sql
然后輸入密碼,等待一會(huì)導(dǎo)出就成功了,可以到目標(biāo)文件中檢查是否成功。
3)只導(dǎo)出數(shù)據(jù)不導(dǎo)出數(shù)據(jù)結(jié)構(gòu)
格式:
mysqldump -u [數(shù)據(jù)庫用戶名] -p -t [要備份的數(shù)據(jù)庫名稱]>[備份文件的保存路徑]
4)導(dǎo)出數(shù)據(jù)庫中的Events
格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p -E [數(shù)據(jù)庫用戶名]>[備份文件的保存路徑]
5)導(dǎo)出數(shù)據(jù)庫中的存儲(chǔ)過程和函數(shù)
格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p -R [數(shù)據(jù)庫用戶名]>[備份文件的保存路徑]
從外部文件導(dǎo)入數(shù)據(jù)庫中
1)使用“source”命令
首先進(jìn)入“mysql”命令控制臺(tái),然后創(chuàng)建數(shù)據(jù)庫,然后使用該數(shù)據(jù)庫。最后執(zhí)行下面操作。
mysql>source [備份文件的保存路徑]
2)使用“<”符號(hào)
首先進(jìn)入“mysql”命令控制臺(tái),然后創(chuàng)建數(shù)據(jù)庫,然后退出 MySQL,進(jìn)入 DOS 界面。最后執(zhí)行下面操作。
mysql -u root –p < [備份文件的保存路徑]
網(wǎng)頁題目:mysql之mariadb基本操作
網(wǎng)頁地址:http://www.ekvhdxd.cn/article0/ghdjoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)、商城網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)