1,mysql用户管理。
创建一个普通用户并授权:
mysql> grant all on *.* to user1 identified by '123456';
Query OK, 0 rows affected (0.01 sec)
all 表示所有的权限(读、写、查询、删除等等操作), *.* 前面的 * 表示所有的数据库,后面的 * 表示所有的表,identified by 后面跟密码,用单引号括起来。这里的user1指的是localhost上的user1,如果是给网络上的其他机器上的某个用户授权则这样:
mysql> grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222';
Query OK, 0 rows affected (0.01 sec)
用户和主机的IP之间有一个@,另外主机IP那里可以用%替代,表示所有主机,例如:
mysql> grant all on db1.* to 'user3'@'%' identified by '231222';
Query OK, 0 rows affected (0.00 sec)
all可以替换为SELECT,UPDATE,INSERT。
mysql> show grants;
2,常用sql语句。
(1)查询语句:
mysql> select count(*) from mysql.user;
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.00 sec)
mysql.user表示mysql库的user表;count(*)表示表中共有多少行。
mysql> select * from mysql.db;
查询mysql库的db表中的所有数据,也可以查询单个字段或者多个字段:
mysql> select db from mysql.db;
mysql> select db,user from mysql.db;
在查询语句中可以使用万能匹配 “%”:
mysql> select * from mysql.db where host like '10.0.%';
(2)插入一行。
mysql> insert into db1.t1 values (1, 'abc');
Query OK, 1 row affected (0.02 sec)
(3)更改表的某一行。
mysql> update db1.t1 set name='aaa' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
(4)清空表数据。
mysql> truncate table db1.t1;
Query OK, 0 rows affected (0.01 sec)
(5)删除表。
mysql> drop table db1.t1;
Query OK, 0 rows affected (0.00 sec)
(6)删除数据库。
mysql> drop database db1;
Query OK, 0 rows affected (0.02 sec)
3,mysql数据库备份恢复。
备份:mysqldump -uroot -p'yourpassword' mysql >/tmp/mysql.sql
使用 mysqldump 命令备份数据库,-u 和 -p 两个选项使用方法和前面说的 mysql 同样,而后面的 “mysql” 指的是库名,然后重定向到一个文本文档里。备份完后,你可以查看 /tmp/mysql.sql 这个文件里的内容。
恢复和备份正好相反:mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql