1.mysql数据库:
数据库----文件夹
数据表----文件
数据数据行---文件中的一行数据
2.
初始:
show databases; 查看当前mysql都有那些数据库,也就是根目录有哪些文件夹
create database 数据库名;创建数据库,也就是创建文件夹
use 数据库名;使用选中数据库
show tables ;查看当前数据库下面有哪些表
create table 表名(nid int,name varchar(20),pwd varchar(64)); 创建数据库表
select * from 表;查看表中的所有数据
insert into 表名(nid,name,pwd) values(1,'lizebo','123');表示插入数据
--select * from 表名;
3.用户授权与管理
1.在MySQL中有一个数据库叫mysql,use mysql;后我们可以看到里面有一个user的表这个表就是储存用户信息的;
但是这个表很关键,如果改错就不能登陆,所以mysql提供了特殊的用户授权命令。
2.用户管理命令:
创建用户
create user '用户名'@'ip地址' identified by '密码';
删除用户
drop user '用户名'@'ip地址';
修改用户
rename user '用户名'@'ip地址' to '新用户名'@'ip地址';
修改密码
set password for '用户名'@'ip地址' = Password('新密码');
其实我们登陆的时候是mysql -u root -h localhost -p1234这样的形式登陆的
C:\Users\Administrator>mysql -u root -h localhost -p1234
只是如果我们不屑-h,默认是localhost
3.root是最高权限
列如:
我们使用root登陆查看到的databases和自定义用户查看到的databases不同
root:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
lizebo用户:
mysql> show databses;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databses' at line 1
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)
mysql>
这就是权限的不足,默认,什么都没有
4.用户权限
grant 权限 on 数据库.表 to '用户名'@'ip地址' --授权
select ,查询
数据库.表
test.tb1
test.* ---数据库test下面的所有表
*.* ---所有数据库和数据表
'用户名'@'ip地址'
ip地址在MySQL中可以使用%通配符进行模糊匹配
这里的IP地址客户端的IP地址
host登陆的是服务器的IP地址
在同一个局域网下,2台电脑要连接同一个服务器端,前提条件是
需要ping通。