您好,登錄后才能下訂單哦!
下文內容主要給大家帶來MySQL數據庫密碼、授權、備份與恢復,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
數據庫管理員root用戶 密碼的設置
(a)知道舊密碼修改mysqladmin -hlocalhost -uroot -p password "abc123"
enter oldpasswd 123456
ok
mysql -uroot -pabc123456
(b)不知道舊密碼
/etc/my.cnf
[mysqld]
skip-grant-tables /不驗證密碼登錄
systemctl restart mysqld
mysql
>update mysql.user set authentication_string=password("新密碼") where user="root" and host="localhost";
>flush privaileges /不重啟MySQL服務 使設置生效
>quit
/etc/my.cnf
[mysqld]
#skip-grant-tables /不驗證密碼登錄
systemctl restart mysqld
mysql -hlocalhost -uroot -pabc123
>
#####################################
(a)用戶授權
grant 權限列表 on 庫.表 to 用戶名@"客戶端地址" identified by "密碼" [with grant option]
權限表示: all(所有權限) usage(無權限,只允許登錄) select(查詢) delete(刪除) insert(增加) update(修改)...
庫名: 庫名.表名 *.*(所有庫.所有表) 庫名.*(庫下的所有表)
用戶名:自定義
客戶端地址: % 所有地址 192.168.4.12(只允許這個地址) 192.168.4.%(允許4.0這個網段)...
密碼: 授權用戶的登錄密碼
with grant option /可以有授權權限
[云服務器 192.168.4.11]
#grant all on *.* to user@"192.168.4.12" identified by "123456" with grant option;
/用戶user在192.168.4.12主機上登錄數據庫,具有對所有庫,所有表 所有的權限 還有可以授權權限
>show grants for user@"192.168.4.12" /在服務器上查看授權的用戶的權限
>set password for user@192.168.4.12=password("新密碼"); /在服務器上為授權用戶修改密碼
[客戶端 192.168.4.254]
#mysql -h292.168.4.11 -uuser -p123456
mysql>
>show grants; /客戶端查看權限
>set password=password("新密碼"); /授權用戶自己修改密碼
(b)撤銷權限
(1) 通過命令撤銷
revoke 權限列表 on 庫名.表名 from 用戶名@"客戶端地址"
#revoke all on *.* from user@192.168.4.12;
(2)通過修改數據庫表記錄撤銷
use mysql
>show tables;
use 已有授權用戶信息
db 授權用戶對庫的訪問權限
tables_priv 授權用戶對表的訪問權限
columns_priv 授權用戶對表中字段的訪問權限
#update user set delete_priv="N",drop_priv="N" where user="user"and host="192.168.4.254"; /撤銷刪除,改動權限
flush privileges;
show grants for user@192.168.4.254;
########################################
備份方式
(a)物理備份: 直接copy庫或表對應的文件
備份
#cp -rp /var/lib/mysql/gamedb /allbak
恢復
#cp -rp /allbak /var/lib/mysql/gamedb
使用物理備份需要注意庫的權限,屬主,屬組都要是mysql
(b)邏輯備份: 執行備份時,根據已有的庫和表生成對應sql命令,把生成的sql命令存儲到指定的備份文件里。
#mysqldump -u用戶名 -p密碼 庫名 > /目錄/名.sql
庫名表示方式:
--all-databases /備份數據庫服務器的所有數據
庫名 /備份一個庫的所有數據
庫 表 /備份一個表的所有數據
-B 庫名1 庫名2 .. /一起備份多個庫的所有數據
備份
#mysqldump -uroot -p"abc123" gamedb > /allbak/mysql.sql
恢復
#mysql>create database gamedb /恢復時需要先創建好庫
#mysql -uroot -pabc123 gamedb < /allbak/mysql.sql
(c)完全備份: 備份所有數據
(d)差異備份: 備份自完全備份后的收有數據
(e)增量備份: 備份自上一次備份后,產生的新數據
備份策略使用方式
完全+差異
完全+增量(使用較多)
執行完全備份的周期化任務
/root/beifen.sh
#! /bin/bash
if [ ! -e /allbak ]
mkdir /allbak
mysqldump -uroot -p"abc123" gamedb > /allbak/mysql-`date +%F`.sql
systemctl start crond
crontab -e
對于以上關于MySQL數據庫密碼、授權、備份與恢復,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。