Linux
第一章-Linux概述
知识点-Linux概述
1.目标
我们一般在window系统下开发, 开发完成后部署到Linux系统下. 我们先来了解下什么是Linux
2.路径
- Linux介绍
- 为什么要学习Linux
- Linux的历史
3.讲解
3.1.Linux简介
是基于Unix的开源免费,多用户,多任务的操作系统,
由于Linux系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。
3.2为什么要学习Linux
对于windows操作系统而言,大家应该不陌生,这里我列举一些windows的不足:
- 个人用户正版windows需要收费
- 系统长时间运行后,不稳定,变慢,容易死机
- 且windows经常招到病毒攻击等
相反,上述windows的不足,恰好是另一款操作系统Linux的优势所在,这里我也列举一些Linux的优点:
-
个人用户正版Linux不需要收费
-
系统长时间运行后,还是比较稳定,比较快,不容易死机
-
且Linux不常招到病毒攻击等
做为一个后端JavaEE程序员,通常在windows/MAC中开发完程序后,得部署到一个相对比较安全,稳定的服务器中运行,这台服务器上安装的不是windows操作系统,而是Linux操作系统。
3.3.Linux的历史
Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.
4.小结
-
Linux: 操作系统
-
为什么要学习Linux?
我们工作里面一般把Linux作为服务器操作系统
知识点-Linux的版本
1.目标
知道内核版本和发行版本区别, 以及常见的发行版本
2.路径
- Linux的版本
- Linux的主流发行版本
3.讲解
3.1Linux的版本
Linux的版本分为两种:内核版本和发行版本;
- 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;
- 发行版本是一些组织和公司根据自己发行版的不同而自定的
3.2Linux常见发行版本
4.小结
-
版本
- 内核版本
- 发行版本
-
我们学习的版本
发行版本CentoOS
Linux系统的使用场景
- 服务器是Linux系统的最主要的使用场景
- 大型运算场景的计算机系统
- 安全性要求比较高的场景,比如说"大型公司的网关环境"
- 嵌入式设备、手机等等
第二章-Linux的安装
实操-Linux的安装
1.目标
- 能够独立搭建Linux环境
2.路径
- 虚拟机的安装
- CentOS的安装
- Linux的目录结构
3.讲解
3.1虚拟机的安装
虚拟机:一台虚拟的电脑. 独立的
虚拟机软件:
VmWare:收费的.
VirtualBox:免费的. Oracle的产品 .
参考《01.VMware使用》
3.2 CentOS的安装
参考《02.Linux(CentOS)安装.pdf》
3.3.Linux的目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-91HztQeb-1620660159552)(img/tu_5.png)]
Linux不像windows那样有盘符的概念,它的最高目录为根目录(用/表示)
/:系统根目录
root目录:超级管理员所在的目录,用~表示
home目录:普通用户所在的目录
etc:配置文件
usr:存放共享文件的 (装的软件基本都是在usr目录)
4.小结
-
安装时候注意事项
- 内存 4G(512M) 8G(1,2G) 16G(1,2,4,8G)
- 不要忘记选择镜像,选择32位
- 需要配置自动连接
-
目录结构
- / 系统根目录
- root 超级管理员所在目录
- home 普通用户所在目录
- etc 配置文件目录
- usr 文件共享目录(一般在这里装软件)
- / 系统根目录
实操-Linux客户端工具CRT
1.目标
- 能够安装CRT
2.路径
- 客户端工具CRT介绍
- CRT 安装
- CRT 的使用
3.讲解
3.1CRT介绍
SecureCRT是一款支持SSH(SSH1和SSH2)协议的终端仿真软件,常被用来运行于Windows下远程登录UNIX或Linux服务器 。
3.2.CRT 安装
参考《03.CRT连接linux.pdf》
3.3.CRT 的使用
参考《03.CRT连接linux.pdf》
4.小结
-
使用CRT软件连接的时候, 需要输入的是:
服务器(虚拟机)的ip地址, 不是localhost
CentOS的默认端口号是22
第三章- Linux的常用命令
知识点-目录操作命令
1.目标
- 掌握目录操作相关的命令
2.路径
- cd目录
- ls命令
- mkdir命令
- pwd命令
3.讲解
Linux里面的路径:
绝对路径:以"/“开头的路径写法,而”/"又是Linux的根目录
相对路径:不以"/"开头的路径写法,以目标路径相对当前路径,如果要往上找一级,则使用…/, 如果获取当前目录中的某个文件则直接写文件名,或者./文件名
3.1 切换目录命令 cd change directory
cd app 切换到app目录
cd … 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录: 如果当前用户是root则切换到root目录,如果是普通用户则切换到home
cd - 切换到上一个所在目录(上一个操作的)
如果目录路径以"/“开头是绝对路径,如果目录路径不以”/"开头是相对路径
3.2 列出文件列表
ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
-
格式
ls[参数] [路径或文件名]
ls 展示当前目录下资源(不包含隐藏的文件)
ls -a 显示所有文件或目录(包含隐藏的文件), 文件带点的是隐藏文件
ls -l 展示文件的详细信息, 简写成 ll (1TB=1024G 1G=1024MB 1MB = 1024KB 1KB = 1024Byte)
ll -h 友好显示文件大小(kb)
ls -al 展示文件的详细信息(包含隐藏的文件)
3.3.创建目录和移除目录
3.3.1 mkdir
用来创建子目录.
- 格式: mkdir 目录名; 在当前目录下创建目录
mkdir app 在当前目录下创建app目录
- 格式: mkdir -p 目录名/子目录; 级联创建目录
mkdir –p app2/test 级联创建app2以及test目录
3.3.2 rmdir【了解】
用来删除“空”的子目录
- 格式: rmdir 目录名;
rmdir app 删除app目录
3.4显示当前目录的绝对路径
- 格式: pwd
4.小结
- cd
- cd 目录; 进入目录
- cd /; 进入系统根目录
- cd ~ 回家
- cd … 返回上级目录
- ls
- ls -a 查看所有的文件(包含隐藏的)
- ll 查看文件的详细信息
- ll -h 查看文件的详细信息(友好展示)
- ll -ah 查看文件的详细信息(友好展示,包含隐藏的)
- 创建目录
- mkdir 目录名
- mkdir -p 目录/子目录
- 查看绝对路径
- pwd
知识点-文件操作命令
1.目标
- 掌握文件操作相关的命令
2.路径
- cat
- more
- less
- tail
3.讲解
3.1cat
用于显示文件的内容
- 格式:cat[参数]<文件名>
cat yum.conf 查看yum.conf 的内容
3.2 more
分页查看, 按空格键显示下一个画面(下一页)。回车显示下一行内容。按 q 键退出查看。(Ctrl+C退出查看)
- 格式: more 文件名
more services
3.3 less
用法和more类似,less命令无法获取到当前已经阅读的百分比
- 格式: less文件名
less services
3.4 tail
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
- 格式: tail -n 文件名:查看文件的末尾几行
tail -10 /etc/passwd
- 格式: tail -f 文件名:滚动的查看文件. (安装时候)
tail -f catalina.log
- ctrl+c 结束查看
4.小结
- cat 文件名; 查看文件的内容 适合文件内容不多情况
- more 文件名; 分页查看文件的内容 适合文件内容多的情况
- tail -f 文件名; 滚动查看文件内容
知识点-文件目录通用操作命令
1.目标
- 掌握文件目录通用操作命令
2.路径
-
touch
-
mv
-
cp
-
rm
3.讲解
3.0 touch 创建文件
- touch 文件名; 创建文件
3.1 mv 移动文件
- mv 文件 目录:移动到指定目录
- mv 文件 目录/文件名:移动到指定目录且重命名
- mv 目录 指定的目录:移动一个目录到指定的目录下
- mv 文件名 新文件名:重命名
3.2 cp 拷贝文件
- cp 文件 目录:把一个文件复制到某目录下
- cp 文件 目录/文件名:复制且重命名
- cp 文件 新文件名 :当前目录下复制一个
- cp -r 目录 新目录:递归复制目录(复制非空目录)
3.3 rm删除文件 (重点)
- rm 文件; 询问删除文件
rm a.txt 删除a.txt文件
- rm -f 文件;不询问,直接删除
rm -f a.txt 不询问,直接删除a.txt
- rm -r 目录; 删除目录(递归删除)
rm -r a; 递归删除a目录
- rm -rf 目录; 不询问递归删除(慎用)
rm -rf a 不询问递归删除
rm -rf * 删除当前目录下所有文件
rm -rf /* 自杀 *********(不要用)
4.小结
- 创建文件
touch 文件名;
- 移动
mv 文件 目录; 把文件移动到目录
mv 文件 目录/文件名; 把文件移动到目录,重新命名
mv 目录 目录; 移动目录
mv 文件 新的文件; 重新命名
- 拷贝
cp 文件 目录; 把文件拷贝到目录
cp 文件 目录/文件名; 把文件拷贝到目录,重新命名
cp -r 目录 目录; 拷贝目录
cp 文件 新的文件; 拷贝 重新命名
- 删除
rm -rf 文件/目录
知识点-文件编辑命令
1.目标
- 掌握文件编辑命令
2.路径
- vi编辑器介绍
- vi编辑器三种模式和常用命令
- vi编辑器使用
- vim编辑器
3.讲解
3.1vi编辑器介绍
vi编辑器是所有Unix及Linux系统下标准的编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的
3.2三种模式和常用命令
-
命令模式:对行进行操作 移动光标. 常用的命令:
yy:复制当前行
p:粘贴
dd:删除当前行
-
编辑模式:对具体的字符进行操作. 切换到插入模式:按 i键
-
底行模式:退出. 切换到底行模式 常用的命令:
:wq 保存并退出
:q 退出(不保存)
:q! 强制退出(不保存)
3.3vi编辑器使用
3.3.1基本使用
- 编辑a.txt, 编译的内容是: hello world…
vi a.txt 进入命令模式
按住i 切换到了编辑模式,输入hello world...
按住Esc 切换到命令模式
按住:wq 切换到底行模式 保存并且退出
- 复制2行hello world…
vi a.txt 进入命令模式
yy 复制
p 粘贴
按住:wq 切换到底行模式 保存并且退出
- 删除最后一行hello world
vi a.txt 进入命令模式
dd 删除当前行
按住:wq 切换到底行模式 保存并且退出
3.3.2练习
在root目录下创建a.txt
cd ~ 切换到root目录
touch a.txt 创建a.txt
编辑a.txt hello...
vi a.txt 进入命令模式
按住i 切换到编辑模式
输入hello
Esc 切换到命令模式
:wq 保存并且退出
复制两行hello...
vi a.txt 进入命令模式
yy 复制
p 粘贴
:wq 保存并且退出
删除最后一行hello...
vi a.txt 进入命令模式
dd 删除行
:wq 保存并且退出
删除a.txt
rm -rf a.txt
3.4vim编译器
vim是vi的升级版,增加了一些功能,对vi命令是完全兼容的。在一些基本命令上两者都是一样的
4.小结
- 模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VYEp1mfZ-1620660159570)(img/image-20191221111640518.png)]
知识点- 打包压缩以及解包解压
1.目标
- 掌握解压和压缩
2.路径
- 打包压缩
- 解压
3.讲解
打包: 将多个文件打包成一个特定文件, 文件扩展名一般是.tar
压缩: 将多个文件打包成一个特定文件并且做压缩处理, 文件扩展名一般是.gz
3.1打包压缩【tar -zcvf】
-
语法:tar -zcvf 打包并压缩后的文件名 要打包压缩的文件/目录
- -z调用压缩命令进行压缩, 没有加上-z就是打包(可选项)
- -c 创建新的文件(必选项)
- -v 输出文件清单(可选项)
- -f 文件名由命令台设置(必选项)
3.2 解包解压【tar -zxvf】
-
语法:tar -zxvf 要解包或者解压的文件 -C 解压到的目录
-
-z 加了z就会解压, 没有加上-z就是解包(可选项)
-
-x 取出文件中的内容(必选项)
-
-v 输出文件清单(可选项)
-
-f 文件名由命令台设置(必选项)
-
知识点-其它常用的命令
1.目标
- 掌握其它常用命令
2.路径
- halt
- reboot
- ifconfig
- ps
- kill
- 管道 |
3.讲解
3.1关机(不用)
halt
3.2重启(不用)
reboot
3.3 查看网卡信息
ifconfig
3.4查看进程
ps -ef 查看所有进程
3.5杀死进程
kill -9 进程号(pid) 杀死指定的进程
3.6 管道:用于筛选
命令1 | 命令2 解释:一个命令的输出,可以作为另一个命令的输入,至少有二个命令参与执行。 常用的需要使用管道命令有 more,grep。
eg: ps -ef | grep vi #在所有的进程里面筛选出和vi相关的进程
注: grep 筛选指定的内容,grep -i:忽略大小写
ps -ef | grep vi: 查看所有vi的进程
4.小结
- halt 关机
- reboot 重启
- ps -ef 查看所有的进程
- kill -9 pid 杀进程
- | 管道
- grep xx 筛选
eg: ps -ef | grep vi 筛选出vi的进程
知识点-Linux文件权限【了解】
1.目标
- 了解权限命令
2.路径
- 权限简介
- 权限参数和数字说明
- 权限命令操作
3.讲解
3.1权限介绍
Linux中对每个目录和文件都做了规定,只能由满足条件的用户才能操作,这个规定叫权限
3.2权限参数和数字说明
r 可读
w 可写
x 可操作
3.3权限命令操作
3.3.1语法一
- 语法:chmod [参数] 目录/文件
- 参数说明:
- u 作者 当前用户
- g 组员 当前用户同组的用户
- o 它人 其他组的用户
- -r 只读
- -w 只写
- -x 只执行
- 权限操作
#修改a.java文件的权限:作者具有rwx权限,组员具有rx权限, 其它人具有x权限
chmod u=rwx , g=rx , o=x a.java
3.3.2语法二
chmod xxx 文件/目录
r 可读 4
w 可写 2
x 可操作 1
1 可操作
2 可写
3 可写+可操作
4 可读
5 可操作+可读
6 可读+可写
7 都可以
修改a.txt文件的权限,修改成当前用户“可读、可写”,当前组的其它用户"可读",其他组的用户"可执行"
chmod 641 a.txt
4.小结
- 权限命令了解
第四种-Linux网络管理和防火墙设置(了解)
知识点-Linux网络管理
1.目标
- 掌握Linux网络管理
2.路径
- ifconfig命令
- 启动和停止
- 网络模型
- 配置NAT网络模型
3.讲解
3.1ifconfig命令
ifconfig #查看与配置网络状态
3.2启动和停止
- 启动
service network start
- 停止
service network stop
- 重启
service network restart
3.3 网络模型
-
桥接模式
物理主机就好像一个交换机,将物理主机和虚拟机连接在一个局域网内。**和主机的关系就像局域网中一台独立的主机,和主机同等地位。**获取外网ip进行上网。物理机上有一个自身的网卡,虚拟机虚拟一个虚拟网卡,两者可以连接到外网。
桥接模式下虚拟机和主机不仅应该处于同一网段,而且相关DNS和网关都应该相同。
-
NAT
俗称网络地址转换,是将内部私有网络地址翻译成合法网络地址。物理机上有一个自身的网卡,和虚拟NAT设备直连,还有一个虚拟网卡直接连在虚拟交换机上。虚拟NAT设备与虚拟DHCP服务器直接连在虚拟交换机上,虚拟机通过虚拟交换机和NAT设备实现联网,但是和本机的连接是通过物理主机的虚拟网卡vm adapter8来实现的。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。
从外部网络来看,虚拟机和主机在共享一个IP地址。
-
仅主机
仅主机模式即是nat模式去除 了nat设备,虚拟机是一个独立的系统,只能实现虚拟机和主机间的通信,如果虚拟机需要联网的话,还需要主机共享网卡,所有一般情况下虚拟机不能联网。
3.4配置NAT网络模型
选择编辑>虚拟网络编辑器
- 选择NAT 模式的VMnet8
-
将其中的“网关IP”设置为“192.168.33.1”
-
然后在本机的“网络连接”中对VMnet8进行设置
4.小结
- 查看网络命令
ifconfig
- 关闭/启动/重新启动
service network start 启动
service network stop 关闭
service network restart 重启
知识点-Linux防火墙设置
1.目标
- 掌握防火墙设置
2.路径
- 什么是防火墙
- 查看防火墙状态
- 关闭防火墙
- 禁用防火墙
- 设置端口防火墙放行
3.讲解
3.1什么是防火墙
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
在默认情况下,Linux系统的防火墙状态是打开的,已经启动。
3.2查看防火墙状态
- 语法:
service 服务 status
- 命令:
service iptables status
3.3临时开启/关闭防火墙
- 语法:
service 服务 start/stop
- 命令:
开启:service iptables start
关闭:service iptables stop
3.4 设置开机开启/关闭防火墙(不用去管)
- 语法
chkconfig 服务 on/off
- 命令
开启:chkconfig iptables on
关闭:chkconfig iptables off
3.5 设置端口防火墙放行(重点掌握)
- 修改配置文件
vi /etc/sysconfig/iptables
- 添加放行的端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 端口号 -j ACCEPT
- 重新加载防火墙的规则
service iptables reload
备注: 默认情况下22端口号是放行的
4.小结
- Linux的防火墙默认是开启的. 工作里面的服务器几乎没有关闭防火墙的, 用到哪个端口,就放行哪一个
- 临时开启和关闭
service iptables start 开启
service iptables stop 关闭
service iptables restart 重启
- 设置开机开启/关闭防火墙
开启:chkconfig iptables on
关闭:chkconfig iptables off
第五章-软件安装
知识点-rpm软件包管理器
1.目标
- 掌握rpm常见的命令
2.路径
- rpm介绍
- rpm常见的命令
3.讲解
3.1rpm介绍
一种用于互联网下载包的打包及安装工具,它包含在某些Linux(CentOs)分发版中。
3.2rpm常见的命令
rpm -qa : 查询所有安装过的软件包
rpm -e --nodeps 删除的软件包名: 删除指定的安装包
rpm -ivh 包名 :安装rpm包
4.小结
- rpm : 工具, 用来打包 和安装
- 命令
- rpm -qa 查看所有安装过的包
- rpm -e --nodeps 包名 卸载
- rpm -ivh 包名 安装
实操-安装JDK
1.目标
- 掌握jdk的安装
2.讲解
-
下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
从windows上传到linux
在CRT下,Alt+P
-
检查系统上是否安装了jdk(若安装了就需要先卸载再使用我们自己的)
java -version
-
查看出安装的java的软件包
rpm -qa | grep java
-
卸载linux自带的jdk
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686 tzdata-java-2013g-1.el6.noarch
-
在 /usr/local 新建一个文件夹 java
mkdir /usr/local/java
-
移动 jdk…gz 到 /usr/local/java下
mv jdk-8u171-linux-i586.tar.gz /usr/local/java
-
进入 /usr/local/java 目录,解压jdk
cd /usr/local/java tar -xvf jdk-8u171-linux-i586.tar.gz
-
配置环境变量
vi /etc/profile #在文件的最后面添加如下代码 export JAVA_HOME=/usr/local/java/jdk1.8.0_171 export PATH=$JAVA_HOME/bin:$PATH
-
保存退出
-
重新加载配置文件
source /etc/profile
3.小结
- 对着文档装
实操-安装Tomcat
1.目标
- 掌握Tomcat的安装
2.讲解
-
下载tomcat
-
上传到linux
在crt上 使用 alt+p
-
在 /usr/local 新建一个文件夹tomcat
mkdir /usr/local/tomcat
-
移动 tomcat…tar.gz 到 /usr/local/tomcat
mv apache-tomcat-8.5.32.tar.gz /usr/local/tomcat/
-
进入/usr/local/tomcat目录,解压Tomcat
cd /usr/local/tomcat tar -xvf apache-tomcat-8.5.32.tar.gz
-
进入 /usr/local/tomcat/apache-tomcat-8.5.32/bin
cd /usr/local/tomcat/apache-tomcat-8.5.32/bin
-
启动tomcat
方式1: sh startup.sh 方式2: ./startup.sh
-
修改防火墙的规则
方式1:service iptables stop 关闭防火墙(不建议); 用到哪一个端口号就放行哪一个(80,8080,3306...) 方式2:放行8080 端口 修改配置文件 cd /etc/sysconfig vi iptables 复制(yy , p) -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 改成 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 重启加载防火墙或者重启防火墙 service iptables reload 或者 service iptables restart
3.小结
- 对着文档装
知识点-安装MySql
1.目标
- 掌握MySql的安装
2.讲解
-
下载mysql
-
上传到linux 在CRT下,按Alt+P
-
检查系统上是否安装了mysql( 若安装了就需要先卸载再使用我们自己的)
rpm -qa |grep -i mysql #查看 rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686 #卸载
-
在 /usr/local 新建一个文件夹mysql
mkdir /usr/local/mysql
-
把mysql压缩包移动 到/usr/local/mysql
mv MySQL-5.5.49-1.linux2.6.i386.rpm-bundle.tar /usr/local/mysql/
-
进入 /usr/local/mysql,解包mysql
cd /usr/local/mysql tar -xvf MySQL-5.5.49-1.linux2.6.i386.rpm-bundle.tar
-
安装 服务器端
rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
-
安装 客户端
rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
-
启动Mysql
service mysql start #启动mysql (注意:只启动一次)
-
先查看随机密码登录(cat /root/.mysql_secret)
-
登录mysql
```
mysql -uroot -p随机密码
```
-
修改密码
set password for root@localhost = password('123');
-
登录mysql
mysql -uroot -p123
-
放行3306端口号
修改配置文件 cd /etc/sysconfig vi iptables 复制(yy p) -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 改成 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 重启加载防火墙或者重启防火墙 service iptables reload 或者 service iptables restart
-
允许远程连接 mysql
在linux上 先登录mysql cd /usr/local/mysql #进入mysql目录 mysql -uroot -p123 #登录 创建远程账号 create user 'root'@'%' identified by '123'; 授权 grant all on *.* to 'root'@'%' with grant option; 刷新权限 flush privileges;
3.小结
- 对着文档装
使用虚拟机镜像需要注意的地方
- 当弹出:我已移动,和 我已复制的选项时,选择我已移动
- 虚拟机的账号: root , 虚拟机的密码:123456
- 虚拟机中mysql的账号:root , mysql的密码:123