您好,登錄后才能下訂單哦!
本文主要給大家簡單講講Mysql5.7數據庫的常用管理,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望Mysql5.7數據庫的常用管理這篇文章可以給大家帶來一些實際幫助。
創建的用戶是保存在mysql數據庫的user表里,使用查詢語句可以查看創建的用戶。
(1) 命令格式:create user ‘user’@‘host’ identified by ‘密碼’;
查看系統用戶;select user,authentication_string,host from mysql.user;
create user 'test1'@'localhost' identified by 'abc123';
(2)也可以使用修改權限的語句grant進行創建;
命令格式:grant 權限 on 數據庫.表 to 用戶@主機 identified by 密碼;
grant all on *.* to ‘test2’@’localhost’ identified by ‘abc123’;
命令格式:drop user ‘user’@‘host’;
drop user ‘test2’@‘localhost’;
刪除test2這個用戶后,數據庫中已經沒有該用戶了。
命令格式:rename user 'old_user'@'host' to 'new_user'@'host';
rename user 'test1'@'localhost' to 'user1'@'192.168.30.55';
set password = password('密碼');
set password for ‘user’@‘host’ = password(‘密碼’);
1)systemctl stop mysqld.service 關閉數據庫
2)修改mysql的配置文件,
vim /etc/my.cnf 寫入skip-grant-tables參數
作用是用戶登錄時不使用授權表,所以用戶可以不使用密碼密碼直接登錄。
3)進入mysql,使用update修改root密碼
update mysql.user set authentication_string = password('qazwsx123') where user='root';
4)將配置文件里的剛才加入的參數刪掉,重啟mysql,使用新密碼進行登錄
在mysql中,權限設置非常重要,分配權限可以清晰地劃分責任。
(1)授予權限 ,
使用grant命令,是指定用戶允許它操作某些表,對這些表擁有相應的操作權限。
命令格式:grant 權限 on 數據庫.表 to 用戶@主機 identified by 密碼;
查看用戶權限的命令格式:show grants for ‘user’@‘localhost’;
創建一個用戶lisi來做實驗驗證,使用戶lisi可以在主機localhost連接,使用密碼“123qwe”,他擁有對所有數據庫表的查詢和修改權限
使用lisi登錄mysql進行驗證
select,update語句可以正常執行,但是執行insert語句顯示沒有足夠的權限
(2)撤銷權限
使用revoke語句可以撤銷指定用戶的數據庫權限,命令格式如下:
revoke 權限 on 數據庫.表 from 用戶@主機;
revoke update on *.* from 'lisi'@'localhost';
由于日志文件是掌握數據庫運行狀態的重要參考,因此日志文件的維護也有十分重要的意義
mysql的日志類型有:錯誤日志,通用日志,二進制日志,慢速查詢日志
默認的工作目錄為:/usr/local/mysql/data/
主要記錄當mysql啟動和停止時,以及在運行過程中發生任何錯誤時的相關信息。
在mysql的配置文件my.cnf中可以指定錯誤日志的保存位置和文件名。
vim /etc/my.cnf
...............
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
#錯誤日志log-error=/usr/local/mysql/data/mysql_error.log #指定錯誤日志目錄和文件名
通用查詢日志用來記錄mysql的所有連接和語句,默認是關閉的,修改配置文件的general_log=ON選項,可以打開通用查詢日志,
vim /etc/my.cnf
...............
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
#通用日志general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log #打開通用查詢日志,指定位置和文件名
重啟mysql服務后,通用查詢日志生效
二進制日志用來記錄所有更新了數據或已經潛在更新了數據的語句,記錄了數據的更改,主要目的是在恢復數據時能夠最大程度地恢復數據庫,二進制日志默認是開啟的。在data目錄下,以mysql-bin命名,數據量大時會自動分割成多個日志文件,以數字作為擴展名。
vim /etc/my.cnf
...............
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1#二進制日志
log_bin=mysql-bin #加入二進制日志參數
查看二進制日志文件可以使用mysqlbinlog命令進行查詢
mysqlbinlog --no-defaults mysql-bin.000001
慢查詢日志記錄所有執行時間超過long_query_time秒的SQL語句,用于找到哪些查詢語句執行時間長,以便對其進行優化。默認慢查詢日志是關閉的,slow_query_log是慢查詢日志的選項,默認是OFF
vim /etc/my.cnf
...............
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1#慢日志
slow_query_log=ON #開啟慢查詢功能
slow_query_log_file=mysql_slow_query.log #指定慢查詢日志存放目錄和文件名
long_query_time=1 #設置超過一秒執行的語句被記錄
在計算機中任何數據都是以二進制存儲的,要存儲一個字符就要對它進行編碼,用一個二進制數與其對應,這種對應的規則就是字符的編碼。編碼的規則有很多,一種規則所編碼的“字符”的集合就叫做“字符集”。在指定編碼標準的時候,“字符的集合“和”編碼“一般都是同時制定的,因此,平時我們所說的”字符集“,例如GB2312,GBK,和UTF-8等,除了有”字符的集合“這層含義,同時也包含了”編碼“的含義。
對中文處理可以使用GB2312,GBK,它是中文字符集,而UTF-8是對世界上每個國家和地區的文字制定的字符集,并且UTF-8是可變存儲長度的字符集,如英文字母只需要一個字節存儲,節省了存儲空間,所以數據庫中通常采用UTF-8的字符集。
(1)云服務器系統字符集設置問題
(2)數據表語系設置問題
(3)客戶端連接語系問題
在使用,存儲數據的時候,各個環節如果設置的字符集不同,就會產生亂碼
對于mysql云服務器,只要設置存儲的字符集為UTF-8,對應的客戶端程序也使用相同的編碼,就不會產生亂碼,mysql設置字符集的方式有多種
create database chartest character set 'utf8' collate 'utf8_general_ci';
創建表時如果不指定字符集,默認按數據庫字符集指定,使用show table status;可以查看表的字符集。
[client]
port = 3306
default-character-set=utf8 #加入這句設定
socket = /usr/local/mysql/mysql.sock
Mysql5.7數據庫的常用管理就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。