一 命令行启动MySQL服务端有两种方式: 方式1(手动方式): 先启动命令行,然后定位到MySQL安装路径下的bin目录,输入mysqld即可启动mysql服务端 也可提前设置好环境变量,这样就不用
一 命令行启动MySQL服务端有两种方式:
方式1(手动方式):
先启动命令行,然后定位到MySQL安装路径下的bin目录,输入mysqld即可启动mysql服务端
也可提前设置好环境变量,这样就不用先切换mysql安装路径了,直接输入mysqld即可
方式2(注册windows服务):
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --install MySQL80服务名上面设置的是MySQL80,也可自己取(针对Mysql 8.0 的版本),注意手动配置MySQL压缩包才需要注册windows服务,如果使用可执行程序直接安装MySQL,则windows服务已经注册好 了,无需手动注册,手动安装MySQL博客教程待完成
1 查看系统中所有数据库
注册好windows服务之后,直接使用net start MySQL80即可启动MySQL服务端,使用net stop MySQL80来关闭MySQL服务端
二 接下来启动MySQL客户端
如果没有设置环境变量,还是需要先切换到安装MySQL的bin目录,输入下面命令,再输入密码即可
mysql -u root -p也可以直接点击MySQL 8.0 Command Line Client,输入密码登陆
三 操作数据库
(1)操作数据库级别
create database db2; 创建数据库db2create database db2 default charset utf8; 创建并设置编码
show databases; 查看系统所有数据库
drop database db2; 删除db2数据库
(2)操作数据表级别
首先需要选定指定数据库,命令为
use 数据库名称;show tables; 查看该数据库里面的所有数据表create table t1(id int,name char(10)) default charset=utf8; 创建表t1,含id,name两列
create table t1(id int,name char(10)) engine=innodb default charset=utf8; 创建表,并设置引擎可以处理意外事故(原子事件)
create table t3(id int auto_increment primary key,name char(10))engine=innodb default charset=utf8; 创建表,其中id为自增,自增列必须设置key,可为主键
对于自增列在插入数据的时候,如果不设置任何值也会有默认值,并自动增加
delete from t1; 清空表的内容,但自增列新增数据时,值会接着往上加truncate table t1; 清空表的内容,同时自增列的初始值还原,比如1
drop table t1; 删除表t1
补充创建数据表的时候创建外键
(3)操作数据表中内容级别
插入数据:insert into t1(id,name) values(1,'alex');
删除:
delete from t1 where id<6
alter table A drop column score #删除表A的score列
修改:
update t1 set age=18;
update t1 set age=18 where age=17;
查看数据:
select * from t1;
(4)创建用户,并给用户授权
#创建用户alex,对主机地址192.168.1.1生效,密码为123123create user 'alex'@'192.168.1.1' identified by '123123';
#创建用户alex,对主机地址192.168.1.0--192.168.1.255内都生效,密码为123123
create user 'alex'@'192.168.1.%' identified by '123123';
创建用户alex,对所有主机都生效,密码为123123
create user 'alex'@'%' identified by '123123';
创建了用户之后,还需要赋予用户权限才能操作数据库,下面是用户授权的方法
#赋予alex用户查询,插入,修改数据库db1中t1数据表的权限,对所有主机生效grant select,insert,update on db1.t1 to 'alex'@'%';
#赋予alex用户操作数据库db1中t1表的所有权限,对所有主机生效
grant all privileges on db1.t1 to 'alex'@'%';
#删除alex用户操作数据库db1中t1表的所有权限,对所有主机生效
revoke all privileges on db1.t1 from 'alex'@'%';