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