MySQL數據庫經常使用操作和技能(DBA必備常識)。本站提示廣大學習愛好者:(MySQL數據庫經常使用操作和技能(DBA必備常識))文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL數據庫經常使用操作和技能(DBA必備常識)正文
MySQL數據庫可以說是DBA們最多見和經常使用的數據庫之一,MySQL的普遍運用,也使更多的人參加到進修它的行列當中。上面是老MySQL DBA總結的MySQL數據庫最多見和最常應用的一些經歷和技能,分享給年夜家!
1、MySQL數據庫的備份
應用MySQL數據庫,最經常使用也是最主要的就是數據庫備份了,所以我們先引見數據庫備份。停止數據庫備份,又很正軌的數據庫備份辦法,同其他的數據庫辦事器有雷同的概念,但有無想過,MySQL會有更簡捷的應用文件目次的備份辦法,並且又快有好(這個辦法沒有獲得官樸直式文檔的驗證,我們暫稱為實驗吧)。
目標:備份hostA主機中一個mysql數據庫TestA,並恢復到到hostB機中。
實驗情況:
操作體系:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0;
在hostA中裝置mysql數據庫並樹立TestA數據庫;
hostB機裝置mysql數據庫,沒有TestA數據庫。
辦法步調:
1、啟動phpMyAdmin觀察HostA和HostB中的數據庫列表,在HostB中沒有TestA數據庫;
2、找到HostA中mysql的裝置目次,並找到數據庫目次data;
3、在我的實驗情況中,這個目次是C:mysqldata;
4、找到對應數據庫稱號的子目次C:mysqldataTestA;
5、粘貼拷貝到HostB的Data目次下,是HostA同HostB Mysql數據目次下的文件雷同;
6、刷新HostB的phpMyAdmin觀察一下數據庫列表,我們看到TestA曾經湧現,而且作查詢修正等操作都正常,備份恢復恢復勝利。
實驗結論:Mysql的數據庫可以經由過程文件情勢保留、備份、恢復,只需將響應文件目次恢復便可,無需應用其它對象備份。
2、銜接MySQL
格局: mysql -h主機地址 -u用戶名 -p用戶暗碼
1、銜接到本機上的MYSQL。
起首在翻開DOS窗口,然落後入目次 mysqlbin,再鍵入敕令mysql -uroot -p,回車後提醒你輸暗碼,假如剛裝置好MYSQL,超等用戶root是沒有暗碼的,故直接回車便可進入到MYSQL中了,MYSQL的提醒符是:mysql》。
2、銜接到長途主機上的MYSQL。假定長途主機的IP為:110.110.110.110,用戶名為root,暗碼為abcd123。則鍵入以下敕令:
mysql -h110.110.110.110 -uroot -pabcd123 (注:u與root可以不消加空格,其它也一樣)
3、加入MYSQL敕令: exit (回車)。
3、操作技能
1、假如你打敕令時,回車後發明忘卻加分號,你不必重打一遍敕令,只需打個分號回車便可以了。也就是說你可以把一個完全的敕令分紅幾行來打,完後用分號作停止標記就完成。
2、你可使用光標高低鍵調出之前的敕令。但之前我用過的一個MySQL舊版本不支撐。我如今用的是mysql-3.23.27-beta-win。
4、顯示敕令
1、顯示數據庫列表:
show databases;
剛開端時才兩個數據庫:mysql和test。MySQL庫很主要它外面有MYSQL的體系信息,我們改暗碼和新增用戶,現實上就是用這個庫停止操作。
2、顯示庫中的數據表:
use mysql; //翻開庫,學過FOXBASE的必定不會生疏吧
show tables;
3、顯示數據表的構造:
describe 表名;
4、建庫:
create database 庫名;
5、建表:
use 庫名;
create table 表名 (字段設定列表);
6、刪庫和刪表:
drop database 庫名;
drop table 表名;
7、將表中記載清空:
delete from 表名;
8、顯示表中的記載:
select * from 表名;
5、一個建庫和建表和拔出數據的實例
drop database if exists school; //假如存在SCHOOL則刪除
create database school; //樹立庫SCHOOL
use school; //翻開庫SCHOOL
create table teacher //樹立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表停止
//以下為拔出字段
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
注:在建表中(1)將ID設為長度為3的數字字段:int;(2)並讓它每一個記載主動加一:auto_increment其實不能為空:not null並且讓他成為主字段primary key;(3)將NAME設為長度為10的字符字段;(4)將ADDRESS設為長度50的字符字段,並且缺省值為深圳。varchar和char有甚麼差別呢,只要等今後的文章再說了;(5)將YEAR設為日期字段。
假如你在MySQL提醒符鍵入下面的敕令也能夠,但不便利調試。你可以將以上敕令原樣寫入一個文本文件中假定為school.sql,然後復制到c:\\下,並在DOS狀況進入目次\\mysql\\bin,然後鍵入以下敕令:
mysql -uroot -p暗碼 《 c:\\school.sql
假如勝利,空出一行無任何顯示;若有毛病,會有提醒。(以上敕令曾經調試,你只需將//的正文去失落便可應用)。
6、修正暗碼
格局:mysqladmin -u用戶名 -p舊暗碼 password 新暗碼
1、給root加個暗碼ab12。起首在DOS下進入目次mysqlbin,然後鍵入以下敕令:
mysqladmin -uroot -password ab12
注:由於開端時root沒有暗碼,所以-p舊暗碼一項便可以省略了。
2、再將root的暗碼改成djg345。
mysqladmin -uroot -pab12 password djg345
七、增加新用戶。(留意:和下面分歧,上面的由於是MySQL情況中的敕令,所今後面都帶一個分號作為敕令停止符)
格局:grant select on 數據庫.* to 用戶名@登錄主機 identified by \“暗碼\”
例1、增長一個用戶test1暗碼為abc,讓他可以在任何主機上登錄,並對一切數據庫有查詢、拔出、修正、刪除的權限。起首用以root用戶連入MySQL,然後鍵入以下敕令:
grant select,insert,update,
delete on *.* to test1@\“%\” Identified by \“abc\”;
但例1增長的用戶是非常風險的,你想如某小我曉得test1的暗碼,那末他便可以在internet上的任何一台電腦上登錄你的MySQL數據庫並對你的數據可認為所欲為了,處理方法見例2。
例2、增長一個用戶test2暗碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb停止查詢、拔出、修正、刪除的操作 (localhost指當地主機,即MySQL數據庫地點的那台主機),如許用戶即便用曉得test2的暗碼,他也沒法從internet上直接拜訪數據 庫,只能經由過程MySQL主機上的web頁來拜訪。
grant select,insert,update,
delete on mydb.* to test2@localhost identified by \“abc\”;
假如你不想test2有暗碼,可以再打一個敕令將暗碼消失落。
grant select,insert,update,delete on mydb
.* to test2@localhost identified by \“\”;
以上就是一些MySQL數據庫經常使用操作和技能。