Mysql 第二篇:庫操做

第二篇:庫操做

1、系統數據庫

 

1.information_schema :虛擬庫,不佔用磁盤空間,存儲的是數據庫啓動後的一些參數,如用戶表信息、列表息、權限信息、字符信息等

2.mysql:核心數據庫,裏面包含用戶、權限、關鍵字等信息。不能夠刪除

3.performance_schema:mysql 5.5 版本後添加的新庫,主要收集系統性能參數,記錄處理查詢請求時發生的各類事件、鎖等現象

4.sys:mysql5.7 版本新增長的庫,經過這個庫能夠快速的瞭解系統的元數據信息,能夠方便DBA發現數據庫的不少信息,解決性能瓶頸都提供了巨大幫助

2、數據庫操做

1.建立數據庫

#語法: CREATE DATABASE db_name charset utf8;

 

#舉例
CREATE DATABASE haha ;

CREATE DATABASE db_name charset utf8;

2.查看數據庫 

#查詢當前用戶下全部數據庫
show databases;

#查看建立數據庫的信息
show create database db_name;

#查詢當前操做所在的數據庫名稱
select database();

3.選擇數據庫

use db1

4.刪除數據庫 

DROP DATABASE db_name;

3、命名規範

能夠由字母、數字、下劃線、@、#、$
區分大小寫
惟一性
不能使用關鍵字如: CREATE SELECT
不能單獨使用數字
最長128位

4、用戶權限

1.用戶管理python

建立用戶
create user ‘用戶名’@‘ip地址’  identified by '密碼';

刪除用戶

drop user ‘用戶名’@‘ip地址’;

修改用戶

rename user ‘用戶名’@‘ip地址’;to  ‘新用戶名’ @ ‘ip地址’

2.受權管理mysql

show grants for ‘用戶’@‘ip地址’                      ----查看權限

grant  權限 on 數據庫.表 to ‘用戶’@‘ip地址’       ----受權

revoke 權限 on 數據庫.表 from ‘用戶’@‘ip地址’   ----取消權限
#建立新用戶 create user 'alex'@'localhost' identified '123456'; #受權方式一:爲alex受權 db1數據庫下的全部表的 查詢.更新.修改權限 grant select,update,delete on db1.*  to 'alex'@'localhost'; #受權方式二:爲alex 受權 全部庫的全部權限(除grant權限外) grant all privileges on *.*  to 'alex'@'localhost'; #刷新用戶權限 flush privileges;
建立用戶及受權例子
all privileges 除grant外的全部權限 select 僅查權限 select,insert 查和插入權限 ... usage 無訪問權限 alter 使用alter table alter routine 使用alter procedure和drop procedure create 使用create table create routine 使用create procedure create temporary tables 使用create temporary tables create user 使用create user、drop user、rename user和revoke all privileges create view 使用create view delete 使用delete drop 使用drop table execute 使用call和存儲過程 file 使用select into outfile 和 load data infile grant option 使用grant 和 revoke index 使用index insert 使用insert lock tables 使用lock table process 使用show full processlist select 使用select show databases 使用show databases show view 使用show view update 使用update reload 使用flush shutdown 使用mysqladmin shutdown(關閉MySQL) super 使用change master、kill、logs、purge、master和set global。還容許mysqladmin調試登錄 replication client 服務器位置的訪問 replication slave 由複製從屬使用
權限列表

5、修改密碼

NO.1:mysqladmin命令sql

mysqladmin -u用戶名 -p密碼 password 新密碼

NO.2:直接設置用戶密碼 數據庫

set password for '用戶名'@'IP' = password('新密碼');
             
flush privileges;

NO.3:修改mysql庫下的user表服務器

5.7版本修改密碼方式:
update mysql.user set authentication_string=password('新密碼') where user= '用戶名'          
flush privileges; -- 刷新權限
             
5.6 版本
update mysql.user set password = password('新密碼') where user= '用戶名'
flush privileges; -- 刷新權限

六.忘記密碼

在忘記root密碼的時候,能夠這樣:
 
#1.首先打開cmd 窗口,關閉mysql服務
    net stop mysql
 
#2.而後跳過權限檢查,啓動mysql,輸入命令
    mysqld --skip-grant-tables
 
#3.從新打開一個新的cmd窗口,啓動客戶端(已跳過權限檢查,能夠直接登陸)
    mysql
 
#4.直接進來,修改密碼
update mysql.user set authentication_string=password('123456') where user='root';
 
#5. 刷新權限
flush privileges;

七.中文亂碼問題

1.查詢字符編碼ide

SHOW VARIABLES LIKE 'char%';

2.制服亂碼性能

#修改方法: #1. 建立my.ini文件,放在mysql根路徑下 #2. 在該文件中添加如下內容便可: #3.添加此文件後須要從新啓動服務,以保證此文件生效 ------------------------------------------------------------ [client] default-character-set=utf8 [mysql] #設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] #設置3306端口 port = 3306 #容許最大鏈接數 max_connections=200 #服務端使用的字符集默認爲8比特編碼的latin1字符集 character-set-server=utf8 #建立新表時將使用的默認存儲引擎 default-storage-engine=INNODB #解決mysql在執行sql語句後出現1055錯誤,sql_mode = only_full_group_by不相容 sql_mode='NO_ENGINE_SUBSTITUTION'
亂碼已死

注意:若是使用的是mysql5.7版本,則須要建立my.ini文件,5.7版本之前數據庫自帶my,ini文件,直接改動編碼便可.編碼

 目前最穩定與經常使用的數據庫版本爲(5.6版本與5.5版本)spa

相關文章
相關標籤/搜索