#### 一:搭建环境
**选择环境**:命令行+数据库服务软件【小皮】
**小皮配置MySQL**:
编码:utf8
引擎:InnoDB
端口:默认3306【不允许随意修改】
*(配置环境变量)*
#### 二:常用脚本命令
##### 1:没有登录前
###### 1)查看版本
`mysql -V`
###### 2)查看帮助
`mysql --help 或 mysql -?`
###### 3)登录
`mysql 【-hIP地址 -p端口】 -u用户名 -p密码`
*【-hIP地址 -p端口】表示可以连接指定IP的数据库,后者表示需要连接数据库服务对应的端口,一般为3306*
*-u用户名 -p密码:需要登录数据库的用户名以及密码*
`例如:musql -hlocalhost -p3306 -uroot -p 连接本机`
`musql -uroot -p`
<u>远程连接时需要对当前用户设置允许远程操作</u>
###### 4)退出登录
exit / quit
###### 5)修改密码(有很多)
登录以后修改密码:
` set password = password(新密码);`
`例如: set password = password("xxx123");`
##### 2:业务操作的脚本命令(登录后)
###### 1)查看帮助
命令:
`? 或 help`
###### 2)查看版本
`select version();`
###### 3)查看当前用户
`select user(); 或 select current_user();`
###### 4)查看当前用户所拥有的数据库
`show databases;`
###### 5)选择数据库
`use 数据库名;`
###### 6)查看当前数据库
`select databases();`
###### 7)显示当前数据库的所有表
`show tables;`
###### 8)查看某一个表的信息
`desc 表名;`
###### 9)查看权限
`show privilege;`
###### 10)查看引擎
`show engines;`
###### 11)提供了加密的工具
`select password("需要加密的内容");`
补充:
###### 12)创建数据库
`create database 数据库名字`
###### 13)删除
`drop database 数据库名`
##### 三:用户管理
###### 1:为什么需要进行用户管理?
管理数据问题----文件操作数据不方便+数据不安全
文件数据操作不方便-----数据处理问题
数据不安全----数据库帮助管理----验证身份(账号密码)
所以需要用户信息验证----多用户分工管理----用户管理
###### 2:认识mysql数据库的用户
查看所有 默认用户:脚本命令
`select host,user from mysql.user;`
##### 3:解释MySQL的用户以及数据库管理方式
mysql数据库服务提供了默认数据库来初始化管理信息
sys---数据库软件服务的一些默认的设置
mysql---数据库提供一个用户、数据库等数据的管理
db表----存储所有的数据库信息
user表---管理用户信息
##### 4:创建新的用户
**语法:**
`create user 用户名@主机或IP地址 identitied by 密码`
**说明:**
用户名(要求):不能使用关键字
不能使用中文
不能太长
不能使用数字或特殊符号开头
最好不要包含特殊符号
主机名和IP地址:表示当前用户可以被哪台主机使用访问
有三个类型的值:
localhost或127.0.0.1:表示当前用户只能被当前数据库服务器所在的电脑设备上的工具登录连接(本地登录访问)
%: 表示允许除了本机以外的其他设备访问
固定IP:表示只能使用固定的IP地址登录和访问当前的数据库服务
密码:不能以数字开头
例如:
`create user xp@localhost identified by"123456"`
`create user xp@'%' identified by"123456"`
`create user xp@'192.168.4.41' identified by"123456"`
`create user xp@'192.168.4.41' identified by""`
`create user xp@'192.168.4.41'`
备注:
1)新创建的用户是没有任何权限操作资源
2)开始的时候只有root管理员是有所有权限的
3)不指定主机名
4)单引号和双引号的区别:都表示字符串,推荐使用单引号
现在访问我
`mysql -h192.168.4.10 -p3306 -xp -p123456`
##### 5:删除用户
删除用户命令(只能用有删除权限的用户删除其他用户):
`drop user 用户名@"主机名或IP地址"`
##### 6:给用户权限
**概念**:创建的新用户没有任何权限,所以需要给权限来让用户做一些事情
**mysql提供了哪些权限:**
**数据的所有权限:管理员的权限**
all 或 all privlleges
**数据操作的权限**
select 查看
delect删除
update修改
insert添加
**对数据结构的权限**
①create拥有创建表、数据库、用户的权限
create user
create database
create drop
create table
②drop删除表、数据库、用户的权限
drop user
drop database
drop table
③alter修改数据、用户、表的权限
alter table
alter user
④show查看显示的权限
show priviledges;(查看所有权限)