数据库的导入和授权用户

【数据库的导入和授权用户】弓背霞明剑照霜,秋风走马出咸阳。这篇文章主要讲述数据库的导入和授权用户相关的知识,希望能为你提供帮助。
1、 导入hellodb.sql生成数据库1.1、mysql环境准备

root@ubuntu:~# mysql --version
mysqlVer 14.14 Distrib 5.7.37, for Linux (x86_64) usingEditLine wrapper
root@ubuntu:~# mysql -uroot -p
Enter password: #这里敲上自己设置好的密码
Welcome to the MySQL monitor.Commands end with ; or \\g.
Your MySQL connection id is 10
Server version: 5.7.37-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type help; or \\h for help. Type \\c to clear the current input statement.

mysql> select version();
+-------------------------+
| version()|
+-------------------------+
| 5.7.37-0ubuntu0.18.04.1 |
+-------------------------+
1 row in set (0.00 sec)

#查看已有的数据库
mysql> show databases;
+--------------------+
| Database|
+--------------------+
| information_schema |
| mysql|
| performance_schema |
| sys|
+--------------------+
4 rows in set (0.00 sec)
#退出mysql
mysql> exit
Bye

#导入数据库并验证
root@ubuntu:~# mysql -uroot -p < hellodb_innodb.sql
Enter password:
root@ubuntu:~# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \\g.
Your MySQL connection id is 12
Server version: 5.7.37-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type help; or \\h for help. Type \\c to clear the current input statement.

mysql> show databases;
+--------------------+
| Database|
+--------------------+
| information_schema |
| hellodb|
| mysql|
| performance_schema |
| sys|
+--------------------+
5 rows in set (0.00 sec)

(1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄
#进入hellodb数据库
mysql> use hellodb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select name,age from students where gender=M and age> 25;
+--------------+-----+
| name| age |
+--------------+-----+
| Xie Yanke|53 |
| Ding Dian|32 |
| Yu Yutong|26 |
| Shi Qing|46 |
| Tian Boguang |33 |
| Xu Xian|27 |
| Sun Dasheng| 100 |
+--------------+-----+
7 rows in set (0.00 sec)

(2) 以ClassID为分组依据,显示每组的平均年龄
mysql> select classid,avg(age) from students group by classid;
+---------+----------+
| classid | avg(age) |
+---------+----------+
|NULL |63.5000 |
|1 |20.5000 |
|2 |36.0000 |
|3 |20.2500 |
|4 |24.7500 |
|5 |46.0000 |
|6 |20.7500 |
|7 |19.6667 |
+---------+----------+
8 rows in set (0.00 sec)

(3) 显示第2题中平均年龄大于30的分组及平均年龄
mysql> select classid,avg(age) from students group by classid having avg(age)> 30;
+---------+----------+
| classid | avg(age) |
+---------+----------+
|NULL |63.5000 |
|2 |36.0000 |
|5 |46.0000 |
+---------+----------+
3 rows in set (0.00 sec)

(4) 显示以L开头的名字的同学的信息
mysql> select * from students where name like L%;
+-------+-------------+-----+--------+---------+-----------+
| StuID | Name| Age | Gender | ClassID | TeacherID |
+-------+-------------+-----+--------+---------+-----------+
|8 | Lin Daiyu|17 | F|7 |NULL |
|14 | Lu Wushuang |17 | F|3 |NULL |
|17 | Lin Chong|25 | M|4 |NULL |
+-------+-------------+-----+--------+---------+-----------+
3 rows in set (0.00 sec)

2、数据库授权magedu用户,允许192.168.1.0/24网段可以连接mysql
#创建用户
mysql> create user magedu@192.168.1.% identified by Mysql@2022;
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for magedu@192.168.1.%;
+----------------------------------------------+
| Grants for magedu@192.168.1.%|
+----------------------------------------------+
| GRANT USAGE ON *.* TO magedu@192.168.1.% |
+----------------------------------------------+
1 row in set (0.00 sec)

#授权
mysql> grant all on *.* to magedu@192.168.1.% identified by Mysql@2022;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show grants for magedu@192.168.1.%;
+-------------------------------------------------------+
| Grants for magedu@192.168.1.%|
+-------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO magedu@192.168.1.% |
+-------------------------------------------------------+
1 row in set (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user from mysql.user;
+-------------+------------------+
| host| user|
+-------------+------------------+
| 192.168.1.% | magedu|
| localhost| debian-sys-maint |
| localhost| mysql.session|
| localhost| mysql.sys|
| localhost| root|
+-------------+------------------+
5 rows in set (0.00 sec)


    推荐阅读