13.4 MySQL用户管理
登录mysql,默认root用户操作:
1. 创建mysql用户(user1),设置密码(123456),设定指定ip:
mysql> grant all on . to '用户名'@'指定ip' identified by '密码';
mysql> grant all on . to 'user1'@'127.0.0.1' identified by '123456';
2. 登录user1用户,设定了ip登录需要(-h跟设定ip):
[root@hao-01 ~]# mysql -u'user1' -p'123456' -h'127.0.0.1'
3. 查看user1用户授权:
mysql> show grants for user1@'127.0.0.1';
4. 用user1用户授权,创建 同名同密码,不同ip的用户:
mysql> GRANT ALL PRIVILEGES ON . TO 'user1'@'127.0.0.2' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
5. 登录授权创建的user1用户(相同的用户名密码)-h跟新定义的ip:
[root@hao-01 ~]# mysql -u'user1' -p'123456' -h'127.0.0.2'
登录mysql,默认root用户操作:
1. 创建mysql用户(user2),设置密码(123456),设定本机:
mysql> grant all on . to '用户名'@'本机' identified by '密码';
mysql> grant all on . to 'user2'@'localhost' identified by '123456';
2. 登录user1用户,设定本机登录,不需要指定ip登录:
[root@hao-01 ~]# mysql -u'user2' -p'123456'
13.5 常用sql语句
1. 登录mysql root用户:
[root@hao-01 ~]# mysql -uroot -p'haomima'
2. 切换到ceshiku库下:
mysql> use ceshiku;
3. 查看库mysql的表user:
mysql> select count(*) from mysql.user;
4. 查看表里所有内容:
mysql> select * from mysql.db\G;
5. 查看db表里内容:
mysql> select db from mysql.db;
6. 同时查看 db和user表里内容:
mysql> select db,user from mysql.db;
7. 模糊查询匹配出以192.168.开头的ip:
mysql> select * from mysql.db where host like '192.168.%'\G;
8. 查看表(biao1)下的字段(ziduan1和ziduan2):
mysql> desc biao1;
9. 插入内容到表下的字段:
mysql> insert into biao1 values (1, 'abc');
10. 查看表(biao1)插入的内容:
mysql> select * from biao1;
11. 设定表下的字段等于什么字符串:
mysql> update biao1 set ziduan1='aaa' where ziduan2=222;
12. 清空表里的内容(不影响表的结构):
mysql> truncate biao1;
13. 删除表(删除表结构,慎重使用):
mysql> drop table biao1;
14. 删除数据库:
mysql> drop database ceshiku;
13.6 MySQL数据库备份恢复
1. 备份mysql库(重定向到/tmp/mysql.sql文件):
[root@hao-01 ~]# mysqldump -uroot -p'haomima' mysql > /tmp/mysql.sql
2. 创建新的mysql2数据库(默认为空):
[root@hao-01 ~]# mysql -uroot -p'haomima' -e "create database mysql2"
3. 恢复库:备份的mysql库,恢复到mysql2库:
[root@hao-01 ~]# mysql -uroot -p'haomima' mysql2 < /tmp/mysql.sql
4. 备份mysql库下的user表(重定向到/tmp/user.sql文件):
[root@hao-01 ~]# mysql -uroot -p'haomima' mysql user > /tmp/user.sql
5. 恢复表:备份mysql库下的表user,恢复到mysql2库下的表:
[root@hao-01 ~]# mysql -uroot -p'haomima' mysql2 < /tmp/user.sql
6. 备份所有的数据库:
[root@hao-01 ~]# mysqldump -uroot -p'haomima' -A > /tmp/mysql_all.sql
7. 只备份 数据库表结构(不备份表的数据):
[root@hao-01 ~]# mysqldump -uroot -p'haomima' -d mysql2 > /tmp/mysql2.sql