13-2 13 mysql 用戶管理 sql語句 mysql數據庫備份恢復

13.4 mysql用戶管理html

13.5 經常使用sql語句mysql

13.6 mysql數據庫備份恢復linux

13.4 MySQL用戶管理

MySQL建立用戶以及受權sql

mysql -uroot -p
grant all on *.* to 'user1'@'127.0.0.1' identified by '1234a';   //第一個*爲庫,第二個*爲表
quit
mysql -uuser1 -p1234a -h127.0.0.1
[ctrl-d]
mysql -uroot p
grant all on *.* to 'user1' identified by '1234a';
exit
mysql -uuser1 -p1234a -h試試看
還能夠:
grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.83.1' identified by 'passwd';
grant all on db1.* to 'user3'@'%' identified by 'passwd'; 

show grants; 查看當前用戶權限
show grants for user1@127.0.0.1;
show grants for user2@192.168.83.1; 兩行能夠用於遷移用戶IP,兩行改IP執行下,原密碼會保留

13.5 經常使用sql語句

開發,DBA須要深刻掌握,可是做爲系統管理員,基本的得會!數據庫

select 查centos

select count(*) from mysql.user;  查mysql庫的user表有多少行
 select * from mysql.db;  查mysql.db全部內容
 select db from mysql.db; 查mysql.db的db字段
 select db,user from mysql.db; 查看mysql.db的多個字段
 select * from mysql.db where host like '192.168.%';  模糊查詢

insert 插入ide

insert into db1.t1 values (1, 'abc');  插入數據
 desc db1.t1查看錶字段結構,明確插入字符格式

update 修改ui

update db1.t1 set name='aaa' where id=1;

刪除,當心用.net

delete from db1.t1 where id=1  //刪除id表頭字段下,=1的行
 truncate table db1.t1;  //清空表內容,字段表頭保留
 drop table db1.t1;    //刪除表
 drop database db1;   //刪除庫
  • 經常使用數據引擎 myisam innodb
    • 自帶的mysql庫就是myisam引擎
      • use mysql;
      • show create table uesr\G;
      • 查看count(*)很是快
    • 查看innodb的引擎
      • use db1;
      • show create table t1;
      • 查看count(*)很慢,對大表慎用

13.6 MySQL數據庫備份恢復

備份庫 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql 恢復庫 mysql -uroot -p123456 mysql < /tmp/mysql.sql 備份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql 恢復表 mysql -uroot -p123456 mysql < /tmp/user.sql 備份全部庫 mysqldump -uroot -p -A >/tmp/123.sql 只備份表結構 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sqlcode

MySQL空密碼用戶清理

假設你想管理下用戶,只記得某個庫裏的某個表管理用戶的登陸,你須要這麼作:

  • 前提是有足夠權限的帳戶,沒有就skip刷root密碼吧
  • 還得知道某個庫下的某個表裏的某個字段,管理着用戶的登陸相關的信息
[root@axiang-02 ~]# mysql -uroot -p
Enter password:

mysql> show databases;   //查全部庫的名字
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |    //你看到mysql庫,想起來就這個庫裏,可是不知道查那個表
| performance_schema |
| test               |
+--------------------+

mysql> use mysql;    //選擇mysql庫
mysql> show tables;    //查mysql裏面的全部表
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |    //你看到user表,想起來應該在這裏,可是不知道查那個字段
+---------------------------+

mysql> desc user;    //查看全部user下的字段名(表頭)
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(16)                          | NO   | PRI |                       |       |
| Password               | char(41)                          | NO   |     |                       |       |
看到這裏你想起來,須要瞭解user,host,password這三個字段
mysql> select user,host,password from mysql.user;    //查看這三個字段的內容
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *8E1A3402D66F8DDD8D9D19596B706C6D238C0F34 |
| root | axiang-02 |                                           |
| root | 127.0.0.1 |                                           |
| root | ::1       |                                           |
|      | localhost |                                           |
|      | axiang-02 |                                           |
+------+-----------+-------------------------------------------+
看到這裏,你發現任意用戶名不須要密碼就能夠登陸。須要刪掉。刪東西前要備份

[root@axiang-02 ~]# mysqldump -uroot -paxianglinux mysql user > /tmp/user.sql

mysql> delete from mysql.user where password='';    //刪掉
mysql> select user,host,password from mysql.user;    //再看
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *8E1A3402D66F8DDD8D9D19596B706C6D238C0F34 |
+------+-----------+-------------------------------------------+

重啓mysql服務試試看吧

擴展

  1. SQL語句教程 http://blog.51cto.com/zt/206
  2. 什麼是事務?事務的特性有哪些? http://blog.csdn.net/yenange/article/details/7556094
  3. 根據binlog恢復指定時間段的數據 http://www.centoscn.com/mysql/2015/0204/4630.html
  4. mysql字符集調整 http://xjsunjie.blog.51cto.com/999372/1355013
  5. 使用xtrabackup備份innodb引擎的數據庫 http://www.aminglinux.com/bbs/thread-956-1-1.html
  6. innobackupex 備份 Xtrabackup 增量備份 http://www.aminglinux.com/bbs/thread-1012-1-1.html
相關文章
相關標籤/搜索