MySQL服务器的构建与维护
實驗要求:
1、編譯安裝mysql數(shù)據(jù)庫
2、登錄數(shù)據(jù)庫,創(chuàng)建benet數(shù)據(jù)庫和班級名表,表中有name(姓名)、passwd(密碼)兩個字段。查詢表的結構。
3、插入本人名和張三、李四三條記錄,密碼為用戶拼音。驗證成功添加。
4、刪除張三的記錄。更改李四的密碼為123456,分別查詢張三和李四的數(shù)據(jù)記錄。
5、備份班級名數(shù)據(jù)表后刪除數(shù)據(jù)表,查詢表已刪除成功,然后恢復班級名數(shù)據(jù)表,驗證恢復成功
6、再建立數(shù)據(jù)庫accp,建立一個表。建立自己名稱的用戶,并授予遠程連接的權限,只對benet有權限(所有權限),對accp只能查詢。
7、在Windows客戶機上安裝Navicat for MySQL,并且遠程連接mysql,測試第6步的權限。
1.編譯安裝MySQL數(shù)據(jù)庫系統(tǒng)
為了避免發(fā)生端口沖突、程序沖突等現(xiàn)象,建議先查詢MySQL軟件的安裝情況,確認沒有使用一RPM方式安裝的mysql-server、mysql軟件包,否則建議將其卸載。
安裝mysql之前,需要先安裝ncurses-devel(系統(tǒng)光盤自帶,可以使用rpm方法安裝);
??cmake(MySQL5.5需要cmake編譯安裝,如果系統(tǒng)中沒有安裝cmake,可以使用gmake來編譯安裝cmake)。
?
創(chuàng)建運行用戶,此用戶不需要直接登錄到系統(tǒng),可以不創(chuàng)建宿主目錄。
?
解包
配置、編譯及安裝,各配置選項的含義:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ? ??//指定mysql數(shù)據(jù)庫程序安裝目錄
-DSYSCONFDIR=/etc ? ????????????????????????//指定初始化參數(shù)文件目錄
-DDEFAULT_CHARSET=utf8 ? ? ?????????????????//指定默認使用的字符集編碼,utf8為國際編碼。
-DDEFAULT_COLLATION=utf8_general_ci ? ? ????//指定默認使用的字符集校對規(guī)則
-DWITH_EXTRA_CHARSETS=all ? ? ????????????? //指定額外支持的其他字符集編碼
?
對數(shù)據(jù)庫目錄進行權限設置
將原有的my.cnf文件刪除
建立配置文件
注意:MySQL源碼目錄中的support-files文件夾里提供了不同負載數(shù)據(jù)庫的樣本配置文件,如果不確定數(shù)據(jù)庫系統(tǒng)的應用規(guī)模,一般選擇my-medium.cnf文件即可,該文件能夠滿足大多數(shù)企業(yè)的中等應用需求。
?
初始化數(shù)據(jù)庫,運行用戶mysql的身份執(zhí)行初始化腳本mysql_install_db
選項含義:
--user???????????????????????//使用指定用戶來運行腳本文件
--basedir????????????????????//指定MySQL的安裝路徑
--datadir????????????????????//指定MySQL的數(shù)據(jù)庫文件存放路徑
?
設置環(huán)境變量,方便在任何目錄下使用mysql命令。
/etc/profile文件中修改環(huán)境變量,在這里修改的內(nèi)容對所有用戶都起作用。
PATH環(huán)境變量指定了shell尋找命令或程序的目錄
?
立即執(zhí)行
復制服務腳本到/etc/init.d/下,改名為mysqld,添加系統(tǒng)服務mysqld。
啟動mysqld服務,查看端口,發(fā)現(xiàn)mysql服務器默認通過tcp3306端口提供服務。
?
1.使用MySQL數(shù)據(jù)庫
登錄到MySQL服務器
默認管理員用戶名為”root”,密碼為空。
有兩種方法修改用戶密碼:
用于訪問數(shù)據(jù)庫的各種用戶信息都保存在mysql庫的user表中,可以直接在mysql數(shù)據(jù)庫服務器中修改用戶密碼。
注意:passwor(‘123456’) ? ? ? ? ? ? ?//表示密碼被加密;
??在MySQL數(shù)據(jù)庫服務器中,語句要以”;”結束。
??Flush privileges???????????? ?//表示刷新授權信息,再次登錄需要輸入新的密碼。
在linux命令行環(huán)境中,使用’mysqladmin’工具設置MySQL數(shù)據(jù)庫用戶密碼。
注意:”Enter password”?后面輸入的是數(shù)據(jù)庫用戶的原密碼。
?
創(chuàng)建數(shù)據(jù)庫benet
切換到benet數(shù)據(jù)庫
創(chuàng)建新表t369,還可以添加其他字段,如:default設置默認的數(shù)據(jù);
??Primary key?設置主鍵。
?
查看表的結構
在t369表中插入數(shù)據(jù)
查詢t369表中的所有數(shù)據(jù)
刪除表中數(shù)據(jù)
修改表中數(shù)據(jù)
備份表t369,保存為/var/t369.sql
注意:?mysqldump -u root -p benet > benet.sql ????????????????????????????//表示備份數(shù)據(jù)庫benet
???mysqldump -u root -p --opt --all-databases > all-data.sql ? ? ? ? ?//表示備份所有數(shù)據(jù)庫,”--opt”表示優(yōu)化執(zhí)行速度。
? ?myaql ?-u ?root ?-p ?[庫名] ?[表名] ?< ?/備份路徑/備份文件名????? //恢復數(shù)據(jù)庫(如果,備份文件中只包含表的備份,在執(zhí)行導入操作時必須指定庫名,且目標庫必須存在)。
設置用戶權限(用戶不存在時,則新建用戶)
Grant ?????????????????//授予權限,格式:
grant ?權限列表 ?on ?庫名.表名 ?to ?用戶名@來源地址 ?[identified by?‘密碼’];
?
Revoke ? ? ? ? ? ? ? ? //撤銷權限,格式:
revoke ?權限列表 ?on ?庫名.表名 ?from ?用戶名@來源地址
?
Show ?grant ?for?用戶名@來源地址????????????//查看權限
?
3.使用Navicat for MySQ遠程訪問MySQL數(shù)據(jù)庫服務器
在MySQL服務器上為防火墻開例外
在客戶機上安裝并打開軟件”Navicat for MySQL”
注:MySQL數(shù)據(jù)庫的語句語法與sql server數(shù)據(jù)庫的基本一樣
本文出自 “網(wǎng)絡技術” 博客,請務必保留此出處http://fjc365.blog.51cto.com/11891287/1871834
轉載于:https://blog.51cto.com/373940/1872184
總結
以上是生活随笔為你收集整理的MySQL服务器的构建与维护的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 只用jsp实现同样的Servlet功能
- 下一篇: Redis 监控