mysql經常使用命令

增長新用戶

格式:grant 權限 on 數據庫.* to 用戶名@登陸主機 identified by "密碼"mysql

如,增長一個用戶user1密碼爲password1,讓其能夠在本機上登陸, 並對全部數據庫有查詢、插入、修改、刪除的權限。
首先用以root用戶連入mysql,而後鍵入如下命令:
grant select,insert,update,delete on *.* to 'user1'@'localhost' Identified by "password1";sql

若是但願該用戶可以在任何機器上登錄mysql,則將localhost改成"%"。
grant all privileges on *.* to 'alex'@'%' identified by "alex"; 數據庫

刷新權限
FLUSH PRIVILEGES;安全

查詢用戶權限ide

show grants for alex@'%'; 編碼

字符集問題

查看默認編碼格式:
show variables like "%char%";
設置編碼格式:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_server='utf8';
查看數據庫test的編碼格式:
show create database test;
設置數據庫test的編碼格式:
ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
查看數據表testTable的編碼格式:
show create table testTable;
設置數據表testTable的編碼格式:
ALTER TABLE `testTable` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  spa

禁止用戶遠程登錄

use mysql;
update user set host = "localhost" where user = "root" and host = "%";
flush privileges;

查看錯誤日誌位置

show variables like "log_error";

備份與恢復

mysqldump -u root -p --all-databases > all-databases.sql  #全庫備份
mysqldump --opt -d 數據庫名 -uroot -pXXXX > xxx.sql #只導出表結構 不導出數據

版本升級

https://www.rootusers.com/how-to-upgrade-mariadb-version-10-1-to-10-3/日誌

數據庫啓動命令彙總

一、使用mysqld啓動、關閉MySQL服務
mysqld是MySQL的守護進程,咱們能夠用mysqld來啓動、關閉MySQL服務。

二、使用mysqld_safe啓動、關閉MySQL服務
mysqld_safe是一個腳本,一個很是安全的啓動、關閉MySQL服務的腳本。它實際上也是調用mysqld來啓動、關閉MySQL服務。

三、使用service 啓動、關閉MySQL服務
service mysql stop

四、使用/etc/init.d/mysql啓動、關閉MySQL服務
/etc/init.d/mysql也是一個腳本,它調用mysqld_safe腳原本啓動MySQL服務。

資源限制

對單個帳戶能夠設置的資源限制有
1. 每小時查詢次數
2. 每小時更新次數
3. 每小時鏈接次數
4. 同時在線的鏈接個數
對應:
GRANT OPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
舉例:code

grant all privileges on *.* to 'name'@'host' identified by "password" WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 5 MAX_USER_CONNECTIONS 2;


當帳戶的限制非0時則會給資源使用計數。
Server運行時給每一個帳戶的使用資源計數,若是達到了鏈接次數限制則下一個鏈接將會被拒絕。
一樣地若達到了查詢、修改等次數限制則會產生一個error信息。
每一個帳戶各自進行資源計數而不是針對客戶端。能夠全局重置當前的每小時使用的資源計數,也能夠針對指定的帳戶重置計數:
1. 將全部帳戶計數器清零使用FLUSH USER_RESOURCES語句。從新加載權限表語句也會清零計數器(FLUSH PRIVILEGES或mysqladmin reload命令)
2. 給特定帳戶清零計數器使用GRANT USAGE語句指定一個與原來同樣的限制次數
計數器清零對於max_user_connections無效,系統重啓會將全部的計數器清零。orm

系統查詢

#uptime 能夠查看系統的運行時間
show global status like 'uptime';
#統計數據庫鏈接數
select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;
相關文章
相關標籤/搜索