Mysql資料庫相關一些知識整理

2021-07-02 00:07:38 字數 3309 閱讀 2886

一、資料占用空間大小

mysql資料庫資料的儲存資訊由information_schema 系統配置資料庫進行儲存。

其中tables表儲存表的相關資訊,幾個重要字段如下

table_schema : 資料庫名

table_name:表名

engine:所使用的儲存引擎

tables_rows:記錄數

data_length:資料大小

index_length:索引大小

要知道乙個表占用空間的大小,那就相當於是資料大小 + 索引大小即可

sql:

<1>查詢表的大小與記錄條數

mysql> use information_schema

mysql>selecttable_schema,table_name,(data_length+index_length)/1024,table_rows from tableswhere table_schema='資料庫名' and table_name='表名'

<2>查詢所有資料庫占用空間大小(單位mb)

mysql> selectsum(data_length+index_length)/1024/1024 from tables;

<3>查詢某個資料庫占用空間大小(單位mb)

mysql> selectsum(data_length+index_length)/1024/1024 from tables where table_schema='資料庫名'

<4>查詢某個資料庫某張表占用空間大小(單位mb)

mysql> select (data_length+index_length)/1024/1024from tables where table_schema='資料庫名' and table_name=』表名』

二、mysql資料庫的匯出和匯入

1.匯出整個資料庫

mysqldump [–h主機] -u使用者名稱–p密碼資料庫名 > 匯出的檔名

./mysqldump -uroot–p123456 test > /home/xing/test.sql

2.匯出乙個表

mysqldump [–h主機] -u使用者名稱–p密碼資料庫名 表名》 匯出的檔名

./mysqldump -uroot–p123456 test tb> /home/xing/testtb.sql

3.匯出乙個資料庫結構

mysqldump [–h主機] -u使用者名稱 –p密碼 資料庫名 -d--add-drop-table > 匯出的檔名

./mysqldump [–h主機] -uroot –p123456test -d --add-drop-table > /home/xing/test.sql

-d 沒有資料

--add-drop-table在每個create語句之前增加乙個drop table,預設是開啟的,如果想跳過採用--skip-add-drop-table

4.匯入資料庫

方法一:使用source 命令

進入mysql

資料庫控制台,

使用資料庫

mysql>use 資料庫

source 指令碼檔案

mysql>source /home/xing/test.sql

方法二:mysql指令碼

mysql -uroot –p密碼 database 《指令碼檔案

$ ./mysql –uroot–p123456 test /home/xing/test.sql

三、修改使用者密碼

mysql/bin目錄下mysqladmin命令

修改密碼

格式:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼 

$ ./mysqladmin-uroot –p123456 password 123

為初始化使用者設定密碼

格式:mysqladmin -u使用者名稱 password 新密碼 

四、 增加新使用者:

(注意:和上面不同,下面的因為是mysql環境中的命令,所以後面都帶乙個分號作為命令結束符)

格式:mysql>grant select on 資料庫.* to 使用者名稱@登入主機 identified by "密碼"

例1、增加乙個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root使用者連入mysql,然後鍵入以下命令: 

mysql> grantselect,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頁來訪問了。 

mysql>grantselect,insert,update,delete on mydb.* to test2@localhost identified by"abc"; 

如果你不想test2有密碼,可以再打乙個命令將密碼消掉。 

mysql>grantselect,insert,update,delete on mydb.* to test2@localhost identified by""; 

五、修改mysql資料庫其他主機可以訪問(%,不安全非常不建議使用)

1)mysql命令方式

mysql>grantall privileges on *.* to 'root'@'%'

withgrant option 

//賦予任何主機訪問資料的許可權

mysql>flushprivileges 

//修改生效

2)修改mysql表方式

改表法將user表中的host改為'%'。

進入mysql資料庫,然後

mysql>usemysql;

mysql>update userset host=』%』 where user=』root』 and host=』%』;

重啟mysql服務即可訪問

mysql資料庫的一些基礎知識

1.連線伺服器,進行登入 mysql h host u user p host mysql伺服器執行的主機名 user mysql賬戶使用者名稱 資料庫中的字串用單引號引起來.sql語句是大小寫不敏感的,但不敏感的是sql關鍵語句,字串值還是大小寫敏感的.2.顯示當前mysql版本和當前日期 查詢當...

orcale 資料庫的一些知識

最近學了一些oracle資料庫的知識,我想自己整理一下,以後也方便自己查閱的。orcale 資料庫登入 tiger 1.sql plus 登入 使用者名稱 sys 口令 主機字串 orcl as sysdba 如果是本地資料庫,主機字串可以為空 使用者名稱 scott system 口令 tiger...

一些資料庫理論知識

1.資料庫事務 事務隔離級別 悲觀鎖 樂觀鎖等概念。2.資料庫acid特徵 atomic 原子性 指整個資料庫事務是不可分割的工作單元。consistency 一致性 指資料庫事務不能破壞關係資料的完整性以及業務邏輯上的一致性。isolation 隔離性 指的是在併發環境中,當不同的事務同時操縱相同...