# 任何ip的客戶端都可以訪問 create user 'tester'@'%' identified by '123456'; # 只有本地的客戶端才可以訪問 create user 'tester'@'localhost' identified by '123456'; # 只有指定的192.168.1.90這個ip才可以訪問 create user 'tester'@'192.168.1.90' identified by '123456'; 2、修改用戶
(1)修改密碼
update mysql.user set authentication_string=password('新密碼') where user='tester' and host='localhost'; # 5.7版本使用 update mysql.user set password=password('新密碼') where user='tester' and host='localhost'; # 5.6版本使用 (2)修改host
update mysql.user set host='192.168.1.100' where user='tester'; (3)修改用戶后需要刷新硬盤或重啟數據庫才生效;其中刷新硬盤需要有reload權限
GRANT reload ON *.* to 'root'@'%'; (4)刪除用戶
DELETE FROM mysql.user WHERE user='tester' and host='localhost'; (5)忘記密碼的重置流程
1)在/etc/my.cnf 加入skip-grant-tables跳過授權表
2)重啟MySQL,后無密碼登錄
3)修改密碼
update mysql.user set authentication_string=password('root') where user='root'; 4)在/etc/my.cnf刪除skip-grant-tables
5)重啟MySQL,輸入密碼進入
二、權限管理
1、權限授予
(1)查詢用戶權限
SHOW GRANTS FOR tester; SELECT * FROM mysql.user WHERE user='tester' /G (2)授予權限
GRANT ALL PRIVILEGES ON *.* TO 'tester'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; (3)撤銷權限
REVOKE ALL PRIVILEGES ON *.* FROM 'tester'@'%'; 2、賬號權限體系
(1)服務級用戶權限
GRANT ALL PRIVILEGES ON *.* TO 'tester'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; (2)數據庫級用戶權限
GRANT ALL PRIVILEGES ON staff.* TO 'tester'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; (3)表級用戶權限
GRANT ALL PRIVILEGES ON staff.employee TO 'tester'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; (4)字段級用戶權限
三、表空間管理(InnoDB)
(1)共享表空間(默認)
數據和文件都存放在data目錄下的ibdata1文件里,多數據共用一個。
查看共享表空間大小和存放路徑:
show variables like 'innodb_data%'; (2)獨占表空間
每個數據庫都有自己的文件夾和文件
.frm保存元數據,表結構,表結構的定義
.ibd存放數據和索引文件
查看value為ON,則開啟了獨占表空間:
show variables like 'innodb_file_per_table'; 四、備份與還原
select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables group by TABLE_SCHEMA ORDER BY data_size desc; #order by data_length desc;