中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql5.7數據庫的常用管理

發布時間:2020-05-18 17:01:09 來源:網絡 閱讀:383 作者:三月 欄目:MySQL數據庫

本文主要給大家簡單講講Mysql5.7數據庫的常用管理,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望Mysql5.7數據庫的常用管理這篇文章可以給大家帶來一些實際幫助。

用戶管理

1,新建用戶

創建的用戶是保存在mysql數據庫的user表里,使用查詢語句可以查看創建的用戶。

(1) 命令格式:create user ‘user’@‘host’ identified by ‘密碼’;

查看系統用戶;select user,authentication_string,host from mysql.user;

create user 'test1'@'localhost' identified by 'abc123';

Mysql5.7數據庫的常用管理

(2)也可以使用修改權限的語句grant進行創建;

命令格式:grant 權限 on 數據庫.表 to 用戶@主機 identified by 密碼;

grant all on *.* to ‘test2’@’localhost’ identified by ‘abc123’;

 

Mysql5.7數據庫的常用管理

刪除用戶

命令格式:drop user ‘user’@‘host’;

drop user ‘test2’@‘localhost’;

刪除test2這個用戶后,數據庫中已經沒有該用戶了。

Mysql5.7數據庫的常用管理

重命名用戶

命令格式:rename user 'old_user'@'host' to 'new_user'@'host';

rename user 'test1'@'localhost' to 'user1'@'192.168.30.55';

Mysql5.7數據庫的常用管理

給用戶設置密碼

修改用戶密碼的方式有兩種,修改當前登錄的用戶密碼;修改其他用戶的密碼。

(1)修改當前登錄用戶密碼的命令格式:

set password = password('密碼');

Mysql5.7數據庫的常用管理  

(2)修改其他用戶密碼 的命令格式:

set password for ‘user’@‘host’ = password(‘密碼’);

Mysql5.7數據庫的常用管理

忘記root密碼的解決辦法

1)systemctl stop mysqld.service 關閉數據庫

2)修改mysql的配置文件,

vim /etc/my.cnf   寫入skip-grant-tables參數

作用是用戶登錄時不使用授權表,所以用戶可以不使用密碼密碼直接登錄。

Mysql5.7數據庫的常用管理  

3)進入mysql,使用update修改root密碼

update mysql.user set authentication_string = password('qazwsx123') where user='root';

Mysql5.7數據庫的常用管理  

4)將配置文件里的剛才加入的參數刪掉,重啟mysql,使用新密碼進行登錄

Mysql5.7數據庫的常用管理

授權控制

在mysql中,權限設置非常重要,分配權限可以清晰地劃分責任。

(1)授予權限 ,

使用grant命令,是指定用戶允許它操作某些表,對這些表擁有相應的操作權限。

命令格式:grant 權限 on 數據庫.表 to 用戶@主機 identified by 密碼;

查看用戶權限的命令格式:show grants for ‘user’@‘localhost’;

創建一個用戶lisi來做實驗驗證,使用戶lisi可以在主機localhost連接,使用密碼“123qwe”,他擁有對所有數據庫表的查詢和修改權限

Mysql5.7數據庫的常用管理

使用lisi登錄mysql進行驗證

select,update語句可以正常執行,但是執行insert語句顯示沒有足夠的權限

Mysql5.7數據庫的常用管理

Mysql5.7數據庫的常用管理

(2)撤銷權限

使用revoke語句可以撤銷指定用戶的數據庫權限,命令格式如下:

revoke 權限 on 數據庫.表 from 用戶@主機;

revoke update on *.*  from 'lisi'@'localhost';

Mysql5.7數據庫的常用管理

Mysql日志管理

由于日志文件是掌握數據庫運行狀態的重要參考,因此日志文件的維護也有十分重要的意義

mysql的日志類型有:錯誤日志,通用日志,二進制日志,慢速查詢日志

默認的工作目錄為:/usr/local/mysql/data/

(1)錯誤日志

主要記錄當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 = 1

character_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服務后,生成mysql_error.log用來記錄錯誤日志

(2)通用查詢日志

通用查詢日志用來記錄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服務后,通用查詢日志生效

(3)二進制日志

二進制日志用來記錄所有更新了數據或已經潛在更新了數據的語句,記錄了數據的更改,主要目的是在恢復數據時能夠最大程度地恢復數據庫,二進制日志默認是開啟的。在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

Mysql5.7數據庫的常用管理 

 

(4)慢查詢日志

慢查詢日志記錄所有執行時間超過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        #設置超過一秒執行的語句被記錄

可以將以上的所有參數同時在配置文件里進行設定,然后重啟服務,查看結果

Mysql5.7數據庫的常用管理 

Mysql5.7數據庫的常用管理  

數據亂碼產生的原因

在計算機中任何數據都是以二進制存儲的,要存儲一個字符就要對它進行編碼,用一個二進制數與其對應,這種對應的規則就是字符的編碼。編碼的規則有很多,一種規則所編碼的“字符”的集合就叫做“字符集”。在指定編碼標準的時候,“字符的集合“和”編碼“一般都是同時制定的,因此,平時我們所說的”字符集“,例如GB2312,GBK,和UTF-8等,除了有”字符的集合“這層含義,同時也包含了”編碼“的含義。

對中文處理可以使用GB2312,GBK,它是中文字符集,而UTF-8是對世界上每個國家和地區的文字制定的字符集,并且UTF-8是可變存儲長度的字符集,如英文字母只需要一個字節存儲,節省了存儲空間,所以數據庫中通常采用UTF-8的字符集。

Mysql云服務器使用中經常會有亂碼產生,主要原因有以下幾種;

(1)云服務器系統字符集設置問題

(2)數據表語系設置問題

(3)客戶端連接語系問題

在使用,存儲數據的時候,各個環節如果設置的字符集不同,就會產生亂碼

Mysql亂碼解決方法

對于mysql云服務器,只要設置存儲的字符集為UTF-8,對應的客戶端程序也使用相同的編碼,就不會產生亂碼,mysql設置字符集的方式有多種

(1)在創建數據庫時指定字符集,使用參數character set設置字符集,collate是對字符集進行校對的規則

create database chartest character set 'utf8' collate 'utf8_general_ci';

創建表時如果不指定字符集,默認按數據庫字符集指定,使用show table status;可以查看表的字符集。

Mysql5.7數據庫的常用管理

(2)創建表時也可以指定字符集,數據庫中的表根據需要可以設置不同的字符集

Mysql5.7數據庫的常用管理



Mysql5.7數據庫的常用管理

Mysql5.7數據庫的常用管理

(3)一勞永逸的方法,在配置文件my.cnf加入以下設置

[client]

port = 3306

default-character-set=utf8    #加入這句設定

socket = /usr/local/mysql/mysql.sock

這時創建的數據庫和表都不需要再指定,只要修改這一處,就可以統一數據庫的字符集,重啟后字符集生效。

Mysql5.7數據庫的常用管理就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铁岭县| 屏东市| 玉屏| 土默特右旗| 木里| 泾阳县| 蓬溪县| 赤壁市| 崇义县| 西城区| 安化县| 搜索| 景德镇市| 蒙自县| 高邑县| 玉环县| 綦江县| 宁晋县| 太谷县| 鹰潭市| 仁化县| 东平县| 定南县| 黄石市| 大悟县| 桐柏县| 蓝山县| 亳州市| 阜康市| 留坝县| 田阳县| 三明市| 阿克苏市| 阿勒泰市| 乌兰县| 仪陇县| 姜堰市| 江川县| 平和县| 绥德县| 合作市|