標籤:grants config sql 網站服務 htm maria 地區 localhost tar.gz
修改資料庫管理員密碼
# mysqladmin -hlocalhost -uroot -p password "新密
碼"
Enter password: 當前登入密碼
恢複資料庫管理員密碼
#vim /etc/my.cnf
[mysqld]
#validate_password_policy=0
#validate_password_length=6
skip-grant-tables
:wq
#systemctl restart mysqld
#mysql
mysql>
update mysql.user set
authentication_string=password("123qqq") where
host="localhost" and user="root";
mysql> flush privileges;
mysql> quit
#vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
#skip-grant-tables
:wq
#systemctl restart mysqld
#mysql -uroot -p123qqq
mysql>
使用者授權
什麼是授權:在資料庫上添加新的可以串連的使用者
預設資料庫管理員root使用者在本機登入時,才有授權許可權。
授權命令的格式?
grant 許可權列表 on 資料名 to 使用者名稱;
grant 許可權列表 on 資料名 to 使用者名稱@"用戶端地址";
grant 許可權列表 on 資料名 to 使用者名稱@"用戶端地址"
identified by "密碼" ;
grant 許可權列表 on 資料名 to 使用者名稱@"用戶端地址"
identified by "密碼" with grant option;
許可權列表的表示方式?
all 所有許可權
select,update(name,age)
資料名的表示方式?
*.* 所有庫所有表
庫名.* 一個庫
庫名.表名 一個表
使用者名稱: 授權時自訂要有標識性,是使用者登入是使用的名字
用戶端地址的表示方式?
% 所有地址
192.168.2.% 網段
%.tarena.com 地區
pc101.tarena.com 主機名稱
identified by "密碼" 串連時使用的密碼
with grant option 有授權許可權
給誰授權
給使用者授權 (網站伺服器 )
管理者(營運工程師)
允許資料庫管理員root使用者可以在254主機串連資料庫伺服器,
串連密碼是abc123 串連後有完全許可權且有授權許可權
mysql>grant all on *.* to [email protected]"192.168.4.254"
identified by "abc123" with grant option;
mysql>grant select,update(name) on userdb.user to
student identified by "123456";
select user(); 顯示登入的使用者名稱和用戶端地址
show grants; 串連使用者查看自己的存取權限
在用戶端登入測試授權
#which mysql
#yum -y install mariadb
#mysql -h192.168.4.12 -uroot -pabc123
mysql>
grant all on bbsdb.* to [email protected]"192.168.4.11"
identified by "123456";
+++++++++++++++++++++++++++++++
授權資訊儲存在授權庫mysql庫裡
user 已有的授權使用者及存取權限
db 記錄授權使用者對本機庫的存取權限
tables_priv 記錄授權使用者對本機表的存取權限
columns_priv 記錄授權使用者對本機表中欄位的存取權限
查看已有的授權使用者及許可權
select user,host from mysql.user;
資料庫管理員查看授權使用者的許可權資訊
show grants for 使用者名稱@"用戶端地址";
撤銷使用者授權
revoke 許可權列表 on 庫名 from 使用者名稱@"用戶端地址";
mysql> revoke grant option on *.* from
‘root‘@‘192.168.4.254‘;
mysql> revoke delete on bbsdb.* from
‘webadmin‘@‘192.168.4.11‘;
mysql> show grants for ‘webadmin‘@‘192.168.4.11‘;
mysql>update mysql.db set
Insert_priv="N",Update_priv="N" where db="bbsdb";
mysql> flush privileges;
mysql> show grants for ‘webadmin‘@‘192.168.4.11‘;
mysql> revoke all on bbsdb.* from
‘webadmin‘@‘192.168.4.11‘;
刪除授權使用者
方法一:
mysql>delete from mysql.user where
user="webadmin" and host="192.168.4.11";
mysql> flush privileges;
方法二
mysql> drop user 使用者名稱@"用戶端地址";
授權使用者登入後修改自己的登入密碼
SET PASSWORD=PASSWORD(‘新密碼‘);
管理員 root 重設授權用的登入密碼
SET PASSWORD
FOR 使用者名稱@‘用戶端地址‘=PASSWORD(‘新密碼‘);
++++++++++++++++++++++++++++++++
安裝mysql圖形管理工具 phpmyadmin
#yum -y install httpd php
#systemctl start httpd; systemctl enable httpd
[[email protected] ~]# cat /var/www/html/test.php
<?php
phpinfo();
?>
[[email protected] ~]#
用戶端訪問
firefox http://192.168.4.12/test.php
# tar -zxvf phpMyAdmin-2.11.11-all-languages.tar.gz
-C /var/www/html/
#cd /var/www/html/
#mv phpMyAdmin-2.11.11-all-languages/ phpmyadmin
#chown -R apache:apache phpmyadmin
#cd phpmyadmin
#cp config.sample.inc.php config.inc.php
#vim config.inc.php
17 $cfg[‘blowfish_secret‘] = ‘plj123‘;
31 $cfg[‘Servers‘][$i][‘host‘] = ‘localhost‘;
:wq
# yum -y install php-mysql
#mysql -uroot -p123qqq
mysql>create database webdb;
mysql>grant all on webdb.* to [email protected]"localhost"
identified by "123456";
用戶端訪問
firefox http://192.168.4.12/phpmyadmin
使用者 webuser
密碼 123456
+++++++++++++++++++++++++++++++++
資料備份與恢複
1 為什麼要備份資料?
資料丟失或誤刪除時,使用備份檔案恢複資料。
2 資料備份方式?
物理備份? 備份庫或表對應檔案
cp -r /var/lib/mysql/mysql /opt/mysql.bak
cp /var/lib/mysql/mysql/user.* /opt/
tar -zcvf /opt/mysql.tar.gz /var/lib/mysql/mysql/*
164 cp -r /mydata/mysql.bak/ /var/lib/mysql/mysql
165 chown -R mysql:mysql /var/lib/mysql/mysql
166 systemctl restart mysqld
邏輯備份?備份時根據已有的庫表及記錄產生對應的sql命令,把
sql儲存到指定的備份檔案裡
3資料備份策略?
完全備份 備份所有資料(一台伺服器 一個庫 一張表)
差異備份 備份自完全備份後所有新產生
增量備份 備份自上一次備份後所有新產生
完全備份+差異備份
完全備份+增量備份
4在產生環境下如何?資料備份
周期性計劃任務 執行 備份指令碼
00 18 * * 1 sh /shell/allbak.sh
恢複資料庫管理員密碼、使用者授權、資料備份與恢複