第一周总结
一。安装宝塔
1.购买aliyun云服务器ECS,注册登录服务器,在管理控制台中远程连接服务器,登录密码后在云实例页面中上安装宝塔(打开宝塔官网,在下载安装中使用“Ubuntu/Deepin安装脚本”进行安装)
2.登录aliyun.com,进入云服务器ECS,点击控制台管理,在安全组中创建安全组,点击手动添加,在“目的”处输入实例面板中跳出来的端口,“源”选择0.0.0.0/0,点击左下角的创建安全组,在服务器放行宝塔登录的端口。
2.安装成功后在我的实例页面中输入命令 "bt"接着输入命令"14" 在跳出的信息中,用新页面访问“ 外网面板地址: ”用底下的用户名和密码登录(也可以在登陆前修改用户名和密码);
3.在初次登录跳出来的东西都安装上,然后在软件商城-->一键部署中找到wordpress点击一键部署;
4.输入域名(或ip地址),后面东西可选填,点击提交即可部署网站成功;
5.查看网站端口,如果是80,登录aliyun.com,进入云服务器ECS,点击控制台管理,在安全组中直接点击“安全组ID/名称”点击手动添加,在“目的”处输入“80”,“源”选择0.0.0.0/0,点击右边的保存, 实现服务器放行部署网站的端口。
6.然后输入自己的域名(或ip地址):80端口,即可登录自己的网站进行博客的创建;
二。安装mysql
1.在官网中点击安装-->社区安装-->社区安装服务-->进去下载自己需要的版本;
2.解压安装包到指定安装的文件夹,用管理员打开命令窗口,然后进去到mysql文件的根目录下;
3.以此执行脚本(安装只执行前三个脚本)
1)1initialization.bat
(初始化),完成后msyql根目录下会出一个data
的文件夹
2)2install.bat
(安装 mysql服务),命令窗口提示Service successfully installed.
表示服务安装成功
3)3startup.bat
(启动mysql服务),命令窗口会显示MySQL 服务启动成功
,表示服务启动成功。
4reboot.bat
为重启服务命令
5stop.bat
为停止服务命令
6uninstall.bat
为卸载服务命令
注意:初始化脚本只执行一次,如果出现错误,删除掉data
文件夹后再执行脚本;
4.配置环境变量(在系统环境变量中的path中配置mysql直到bin目录
的路径,因为.exe可执行程序都在bin
目录底下)
5.验证安装,(mysql服务启动的前提下)打开命令提示符,输入mysql -uroot -p
,输入密码(默认无密码,直接按确认),能够进入到mysql,即安装成功。
- 可能出现的问题1:
'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件
。 - 解决方案:1.检查环境变量是否配置正确,2.(没有配置环境变量)检查是否在bin目录底下,执行命令
- 可能出现的问题2:
端口占用
- 解决方案:
netstat -ano | findstr 3306
查找正在执行3306端口服务的PId
,在服务管理中停止运行他们即可。
三。使用gitee
1.进入gitee官网,注册(输入名字,账户名,邮箱地址)登录
2.gitee提交代码:(先安装两个软件,1.先安装git(https://git-scm.com/)
,2.安装RortoiseGit(https://tortoisegit.org/download/)
)
a. git:安装git是因为,gitee是基于Git的代码托管平台(界面出现Git GUI Here, Git Bash Here,表示安装成功)
b. RortoiseGit:图形化界面工具,来操作git(界面出现小乌龟图标,表示安装成功)
3.在gitee网站上创建远程仓库
4.gitee提交代码的三个步骤:
a. add:将代码添加到本地仓库
b. commit:提交代码到本地仓库
c. push:推送推送本次添加操作到远程仓库
四。mysql基本语句使用
1.对库的操作(create, drop,use,show)
1.创库: create datbase [if not exists] database_name; 2.删库: drop database database_name; 3.使用库: use database_name; 4.显示所有的数据库: show databases; /*注意后面s*/
2.对表的操作(create,drop,alter,show,desc)
1.创建表: create table table_name(字段名1 类型, 字段名2 类型,...); a.创建和某表结构一样的表: create table col_name like table_name; b.根据查询的信息创建表: create table col_name as select * from table_name; /*注意as*/ 2.删除表: drop table table_name; 3.修改表: a.修改表名字: rename table table_name to new_name; b.添加列: alter table table_name add 列名 类型; c.修改列类型: alter table table_name modify 列名 类型; d.修改列名和类型; alter table table_name change 旧列名 新列名 类型; e.删除列 alter table table_name drop 列名; 4.查看表: show tables; 5.查看表结构: desc table_name;
3.对表数据的操作(insert,delete,update,select)
1.添加数据: insert into table_name(字段名1, 字段名2, 字段名3,...) values(数据1, 数据2, 数据3,...); /*value和values的区别:values可以同时插入多条数据,中间用逗号隔开*/ 2.删除数据: a.按条件删除: delete from table_name where 列名='数据'; b.清空数据(数据不可恢复,重置自增长计数器,他是DDL(数据定义语言)) truncate table table_name; 3.修改数据: a.全部修改: update table_name set 列明='数据'; b.按条件修改: update table_name set 列名='修改后的数据' where 列名='数据'; 4.查询数据: a.查询所有数据: select * from table_name; b.查询某列数据: select 列名 from table_name; c.按条件查询: select 列名1,列名2,... from table_name;
4.对用户的操作(create,select,drop,grant,show)
默认使用的都是
root用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
1.创建用户: create user '用户名'@'主机名' identified by '密码'; /* 主机名:指定用户可以在哪个主机上登录,如果在本地登录,可以使用localhost ,如果想让用户在任意远程主机登录,可以使用通配符“%” */ 2.查看用户: select user,host from mysql.user; 3.删除用户: a.删除所有主机上的用户(不考虑连接的主机) drop user user_name; b.删除指定主机上的用户 drop user user_name@'指定主机名'; 4.授权用户: grant 权限1, 权限2,... on 数据库名.表名 to '用户名'@'主机名'; /*授予权限:select, update, insert, 如果要授予全部权限使用all; 数据库名.表名: 表示该用户可以操作哪个数剧库的哪个表,如果授权用户可以对数据库和表有操作权限,可用*表示,如*.*; '用户名'@'主机名':给哪个用户授权; */ 5.产看用户权限: show grants for 'user_name'@'主机名'; 6.撤销授权: revoke all on 数据库名.表名 from '用户名'@'主机名';
5.修改密码
1.修改管理员密码: mysqladmin -u root -p password 新密码 /*注意:需要未登录mysql的情况下操作 如果想输入空密码,直接在password后面什么都不输,直接按回车; */ 2.修改普通用户密码: set password for '用户名'@'主机名'='新密码'; /*注意:这个需要在mysql登录的情况下操作*/
6.数据备份和还原
1.备份结构 a.备份表结构 mysqldump -u root -p -d database_name table_name1 table_name2 > d://a.sql /*注意: 语句后面没有:“ ; ” d://a.sql : 是保存文件夹的路径*/ b.备份数据库所有的表结构 mysqldump -u root -p -d database_name > d://a1.sql c.备份多个数据库的所有表结构 mysqldump -u root-p -d --databases database_name1,database_name2 ... > d://a2.sql d.备份所有数据库的表结构 mysqldump -u root -p -d --all-databases > d://d.sql 2.备份结构和数据 a.备份表结构和数据 msyqldump -u root -p database_name table_name1 table_name2... > d://a.sql b.备份数据库的所有表结构和数据 mysqldump -u root -p database_name > d://d1.sql c.备份多个数据库的所有表结构和数据 mysqldump -u root -p --databases database_name1 database_name2... > d://d2.sql d.备份所有数据库的表结构和数据 mysqldump -u root -p --all-databases > d://d3.sql ************************************************ mysqldump -h 10.0.4.200 -u root -p [密码] db_name > path 》mysqldump命令是备份数据库 》-h:指定备份数据库所在服务器的IP地址 》-u root:指定登陆数据库的用户 》-p [密码]:登录数据据库用户的密码 》db_name:数据库名称 ************************************************ 3.备份表数据 mysql -u root -p -e 'select * from table_name' database_name > path; 4.还原表结构和数据 msyql -u root -p [dbname] < 目标文件
7.where条件连接(and , or , in,like)
and
条件都满足
or
条件满足一个即可
in(a,...,b)
表示在a及b这些值中都可以
like
模糊查询,注意 like 前后都是空格
8.高级查询(distinct,order by, group by,limit,having,聚合函数)
1.distinct去重查询(结果集中的每个列的值都相同)
select distinct 列1,... from table_name [其他子句];
2.order by 排序(默认ASX,降序是DESC)
select [distinct] 列1,... from table_name [其他子句] order by 排序列1 [desc], 排序列2 [desc];
3.group by 分组
group by
对数据进行分组,分组时,表中有相同值的为一组。分组后可以进行聚合查询。
group by
分组后的查询中,select
的列不能出现除了group by
分组条件以及聚合函数外的其他语句
select 列1, 列2, (聚合函数) from table_nam group by 列1, 列2;
4.limit 分页查询
select * from table_name limit 0,2;
-
第一个参数 表示从第几条开始查(0可以省略不写)(页数-1)*每页数量
-
第二个参数 表示查找几条数据,每页条数
eg 按贡工资排序,查询第三页数据,每页显示5条数据
select * from table_name order by 列名 limit 10,5;
5.having 为group by 分组后的结果进行筛选
select 列1, 列2, (聚合函数) from table_name group by 列1, 列2 having 分组后的条件
6.聚合函数(sum, avg, count, max, min)
1.sum: 求和: select sun(列名) from table_name; 2.avg: 求平均值 select avg(列名) from table_name; 3.count: 求数量 select count(列名) from table_name; 4.max: 求最大值 select max(列名) from table_name; 5.min: 求最小值 select min(列名) from table_name;
7.sql语句执行顺序
from --> on --> join --> where --> group by -->having -->select -->distinct -->order by -->limit