Linux常用命令(包括JDK、Tomcat、MySQL安装)

文章目录

Linux目录简介

  1. bin -> usr/bin:这个目录存放最经常使用的命令
  2. boot:这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
  3. dev:dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在
  4. etc:这个目录存放所有的系统管理所需要的配置文件
  5. home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名
  6. lib->user/lib:这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
  7. mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
  8. opt:这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。
  9. root:该目录为系统管理员目录,root是具有超级权限的用户
  10. tmp:这个目录是用来存放一些临时文件的。
  11. usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
  12. var:这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。

一、基本命令

1.1 关机和重启

关机:

命令说明
shutdown -h now立刻关机
shutdown -h 55分钟后关机
poweroff立刻关机

重启:

命令说明
shutdown -r now立刻重启
shutdown -r 55分钟后重启
reboot立刻重启

1.2 帮助命令

–help命令:

命令说明
ifconfig --help:查看网卡信息

man命令(命令说明书)

  • man shutdown
    注意:man shutdown打开命令说明书之后,使用按键q退出

二、目录操作命令

2.1 目录切换 cd

命令:cd 目录

  • /表示绝对路径,不带/表示相对路径
命令说明
cd /切换到根目录
cd /usr切换到根目录下的usr目录
cd ../切换到上一级目录 或者 cd …
cd ~切换到当前用户的家目录,root用户为/root,其余用户为/home/用户名
cd -切换到上次访问的目录

2.2 目录查看 ls [-al]

命令:ls [-al]

命令说明
ls查看当前目录下的所有目录和文件
ls -a查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir查看指定目录下的所有目录和文件 如:ls /usr

2.3 目录操作【增,删,改,查】

2.3.1 创建目录【增】 mkdir

命令:mkdir 目录

命令说明
mkdir aaa在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa在指定目录下创建一个名为aaa的目录

2.3.2 删除目录或文件【删】rm

命令:rm [-rf] 目录
参数解释:

  • r:递归删除(删除文件夹用)
  • f:删除时不询问

删除文件:

命令说明
rm 文件删除当前目录下的文件
rm -f 文件删除当前目录的的文件(不询问)

删除目录:

命令说明
rm -r aaa递归删除当前目录下的aaa目录
rm -rf aaa递归删除当前目录下的aaa目录(不询问)

全部删除:

命令说明
rm -rf *将当前目录下的所有目录和文件全部删除
rm -rf /*【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

2.3.3 目录修改【改】mv 和 cp

一、重命名目录
命令:mv 当前目录 新目录

命令说明
mv aaa bbb将目录aaa改为bbb

注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

二、剪切目录
命令:mv 目录名称 目录的新位置

命令说明
mv /usr/tmp/aaa /usr将/usr/tmp目录下的aaa目录剪切到 /usr目录下面

注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

三、拷贝

  • 拷贝文件:
    命令:cp 被复制的文件名 新文件名
    参数说明:-f:不询问复制
命令说明
cp -f anaconda-ks.cfg /usr/tmp/aa.txt复制当前路径的anaconda-ks.cfg文件到/usr/tmp/aa.txt
  • 拷贝目录:
    命令:cp -rf 目录名称 目录拷贝的目标位置 -r代表递归
    参数说明:-r:代表递归
命令说明
cp /usr/tmp/aaa /usr将/usr/tmp目录下的aaa目录复制到 /usr目录下面

2.3.4 搜索目录【查】find

命令:find 目录 option file

命令说明
find -name april*在当前目录下查找以april开始的文件
find -name april* > a.txt在当前目录下查找以april开始的文件,并把结果输出到a.txt中
find -name ap* -o -name may*查找以ap或may开头的文件
find /tmp -name wa* -type l在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2在/home下查最近两天内改动过的文件
find /home -atime -1查/home下1天之内被存取过的文件
find /home -mmin +60在/home下查60分钟前改动过的文件
find /home -amin +30在/home下查最近30分钟前被存取过的文件
find /home -newer tmp.txt在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2列出/home中文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn列出/home内组为cnscn的文件或目录
find /home -gid 501列出/home内组id为501的文件或目录
find /home -nouser列出/home内不属于本地用户的文件或目录
find /home -nogroup列出/home内不属于本地组的文件或目录
find /home -maxdepth 4 -name tmp.txt列出/home内的tmp.txt 查时深度最多为3层
find /home -mindepth 3 -maxdepth 5 -name tmp.txt在/home的第二层到第四层之间查tmp.txt
find /home -empty查找/home中大小为0的文件或空目录
find /home -size +512k查/home中大于512k的文件
find /home -size -512k查/home中小于512k的文件
find /home -links +2查/home中硬连接数大于2的文件或目录
find /home -perm 0700查/home中权限为700的文件或目录
find -type f -exec ls -l {} ;查当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出
find -name a.txt -ok rm {} ;查当前目录下的a.txt并询问是否删除

常用命令:

  1. 把当前目录下的file移动到/test下:

    find -type f -exec mv {} /test \;
    
  2. 删除指定时间之前的文件:

    find -type f -name *.log -mtime +180 -exec rm {} \;
    

三、文件操作命令

3.1 文件操作【增,删,改,查】

3.1.1 新建文件【增】touch

命令:touch 文件名

命令说明
touch aa.txt在当前目录创建一个名为aa.txt的文件

3.1.2 删除文件 【删】 rm

命令:rm -f 文件名

3.1.3 修改文件【改】 vi或vim

【vi编辑器的3种模式】

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 命令行模式command mode)
    控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
    命令行模式下的常用命令:
    【1】控制光标移动:↑,↓,←,→,h,j,k,l,
    【2】删除当前行:dd
    【3】查找:/字符,按n下一个,按N上一个
    【4】进入编辑模式:i o a
    【5】进入底行模式::
    【6】文件头文件尾:gg G
    【7】撤销上一次操作:u
    【8】删除一行:dd
    【9】复制一行内容:yy
    【10】粘贴复制的内容:p

  2. 编辑模式(Insert mode)
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    编辑模式下常用命令:
    【1】ESC 退出编辑模式到命令行模式;
    【2】粘贴:shift + insert

  3. 底行模式(last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
    底行模式下常用命令:
    【1】退出编辑: :q
    【2】强制退出(不保存退出): :q!
    【3】保存并退出: :wq
    【4】设置行号::set nu

3.1.4 文件的查看【查】cat/more/less/tail

命令说明示例示例说明
cat看最后一屏cat sudo.conf查看/etc/sudo.conf文件,只能显示最后一屏内容
more百分比显示more sudo.conf可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
less翻页查看less sudo.conf可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
head查看文件开头的n行数据head -n 10 sudo.conf查看/etc/sudo.conf文件的前10行
tail查看文件末尾n行数据tail -n 10 sudo.conf查看/etc/sudo.conf文件的后10行

3.1.5 文件内搜索: grep

在文件中(可以多个文件同时)搜索字符串,可以使用正则表达式
命令: grep [参数] 搜索的字符串内容 文件名1 [文件n]
参数:

  • -i:忽略字符串的大小写
  • -w:搜索整个单词
命令说明
grep java aa.txt在aa.txt中搜索文本”java”,默认是区分大小写的搜索,使用参数-i忽略大小写
grep “java is” aa.txt搜索的文本中有空格,使用引号括起来
grep -w java aa.txt搜索整个单词,是其他字符串的一部分的不符合条件
grep “^java” aa.txt使用正则, 以java开头的行
grep java aa.txt test.txt在多个文件搜索

3.1.6 文件上传与下载 sz/rz

  • sz :从Linux下载文件到本机 , 在Linux终端输入命令回车后,选择本地存储路径即可。

    • 命令格式:
      • sz filename 下载文件filename
      • sz file1 file2 下载多个文件
      • sz dir/*   下载dir目录下所有文件
  • rz:从本地上传文件到Linux,在Linux终端输入命令回车后,选择本地要上传的文件即可,可一次指定多个文件

    • 命令格式: rz -y 选择文件并上传到执行命令所在的目录

注意:

  1. 如果机器上没有安装过 lrzsz 安装包,则无法使用 rz 和 sz 命令。

    • 使用yum命令安装:yum install -y lrzsz

    • 下载源码进行安装。下载地址:https://ohse.de/uwe/software/lrzsz.html

  2. 上传和下载都默认使用Linux当前登录的用户,使用时要根据个人需要修改文件的权限。

3.2 权限修改 chmod

rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。

示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------

第一位:-就代表是文件,d代表是文件夹,l可以理解为windows中的快捷方式
第一段(3位):代表拥有者(U)的权限
第二段(3位):代表拥有者所在的组(G)组员的权限
第三段(最后3位):代表的是其他用户(O)的权限

   4 2 1   4 2 1     4 2 1
-  r w -   - - -     - - -

命令:chmod UGO权限 文件/目录
常见的三种权限:644、755、777
参数:

  • -R:同时修改目录及其子目录、文件的权限
命令说明
chmod 644 aaa.txtaaa.txt最后的权限为:-rw-r–r--

3.2 文件拥有者修改 chown

命令:

  • chown 新的拥有者用户 被修改的文件
  • chown 新的组.新的拥有者用户 被修改的文件

四、压缩文件操作

4.1 打包和压缩

Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz

Linux中的打包文件一般是以.tar结尾的,压缩的文件一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

命令:tar -zcvf 打包压缩后的文件名 要打包的文件
参数:

  • z:调用gzip压缩命令进行压缩
  • c:打包文件
  • v:显示运行过程
  • f:指定文件名
命令说明
tar -zcvf ab.tar aa.txt bb.txt 或tar -zcvf ab.tar *示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar

4.2 解压

命令:tar [-zxvf] 压缩文件 [-C] 解压到指定的目录
其中:

  • x:代表解压
  • C:解压到指定的目录,不写默认为当前路径
命令说明
tar -zxvf /usr/tmp/ab/tar.gz将/usr/tmp 下的ab.tar.gz解压到当前目录下
tar -zxvf ab.tar -C /usr将/usr/tmp 下的ab.tar解压到根目录/usr下

4.3 查看压缩文件的内容

命令:tar -tf 归档文件名
t : 列出归档(压缩)文件的内容
f : 归档文件名

五、su、sudo

5.1 su

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
命令:su 用户名

命令说明
su test切换到test用户,注意命令提示符“#”变为“$” , root@localhost 变为 test@localhost
su root从普通用户切换到root用户,需要输入root用户密码

退出返回之前的用户:exit

su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。

5.2 sudo

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。

  • 进入sudo配置文件命令:
    • vi /etc/sudoer或者visudo

案例:

  • 允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
    • hadoop ALL=(ALL) ALL
  • 只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。
    • hadoop ALL=NOPASSWD: /bin/ls, /bin/cat

六、管道与重定向

6.1 重定向输出覆盖: >

作用:将命令输出的内容重定向到其它位置,通常是文件,若文件不存在则新建文件再输出;若文件存在先清空文件,再写入内容

命令说明
echo “write some” > t1.txt向t1.txt文件输出内容“write some”。

6.2 重定向输出追加: >>

作用:与 > 相似,不同的是,若文件存在,则新的内容追加到文件的后面。

6.3 管道 |

管道就是用“|”连接两个命令,将前面一个命令的输出作为后面命令的输入,用于把管道左边的输出作为右边的输入。

命令说明
ps -ef | grep “cat”查看cat这个进程是否存在

七、网络通信

7.1 查看ip信息: ifconfig

7.2 测试网络连通: ping

命令: ping ip或者域名

命令说明
ping www.baidu.com查看之后,ctrl+c,退出查看,回到Linux命令行

7.3 查看端口号:netstat

命令:netstat [-an]
常用参数:

  • -a或–all 显示所有连线中的Socket
  • -n或–numeric 直接使用IP地址,而不通过域名服务器
  • -t或–tcp 显示TCP传输协议的连线状况
  • -p或–programs 显示正在使用Socket的程序识别码和程序名称。
命令说明
netstat -an查看端口号
netstat -an | grep 8080搜索指定端口的端口号8080
lsof -i:80查看端口占用

7.4 查看系统进程: ps -ef

命令:ps [-ef]
常用参数:

  • -e:显示当前所有进程
  • -f:显示UID,PPID,C与STIME栏位信息

表头:

  • UID:拥有改程序的用户
  • PID:程序的进程id
  • PPID:父进程的id
  • C:CPU使用的资源百分比
  • STIME:系统启动时间
  • TTY:登录系统的终端位置(客户端的标识)
  • TIME:使用掉的CPU时间
  • CMD:进程是有哪些程序启动的
命令说明
ps -ef | grep mysql查找指定的名字的进程

7.5 杀死进程:kill

命令:kill [-9] pid (先使用 ps -ef 查询进程的pid, 然后再使用 kill pid)
常用参数:

  • -9:强制杀掉进程

7.6 重启网络

命令:service network restart

八、安装软件命令:yum

8.1 查找软件包

命令:yum search 安装包名称中的部分关键字

8.2 安装指定的软件

命令:yum install 安装包名称

8.3 删除软件包命令

命令:yum remove 安装包名称

8.4 列出所有已安装的软件包

命令:yum list installed

8.5 清除已安装软件包的下载文件

命令:yum clean all (yum命令下载的安装包都放在/var/cache/yum目录)

九、其它命令

9.1 查看当前目录:pwd

9.2 显示当前系统时间:date

9.3 命令行清屏:clear

命令:clear
快捷键:ctrl+l

9.4 防火墙相关命令

查看防火墙状态:systemctl status firewalld
让防火墙可用:systemctl enable firewalld
让防火墙不可用:systemctl disable firewalld
开启防火墙:systemctl start firewalld
禁用防火墙:systemctl stop firewalld
永久关闭防火墙:先执行systemctl stop firewalld,再执行systemctl disable firewalld

9.5 磁盘相关命令

查看磁盘总体使用情况:df -h
查看某个目录下文件的大小:du -sh 目录或文件

9.6 设置开机自启脚本

  1. /etc/init.d 目录下创建脚本:

    $ cd /etc/init.d/
    $ vim nginx.sh
    #!/bin/bash
    # chkconfig: 3 88 88
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    $ chmod 755 nginx.sh
    
  2. 添加到 chkconfig,开机自启动

    $ chkconfig --add nginx.sh
    
  3. 其它 chkconfig 命令

    # 查看 chkconfig 列表
    $ chkconfig --list nginx.sh
    nginx.sh           	0:off	1:off	2:off	3:on	4:off	5:off	6:off
    
    # 关闭开机自启
    $ chkconfig nginx.sh off
    
    # 从chkconfig管理中删除nginx.sh
    $ chkconfig --del nginx.sh
    

https://www.linuxprobe.com/linux-open-sh.html

9.7 shell脚本中使用其他用户执行脚本

  • 切换用户只执行一条命令的可以用:su - user_name-c your_command
  • 切换用户执行一个shell文件可以用:su - user_name -s /bin/bash your_shell.sh

https://www.cnblogs.com/bigben0123/archive/2013/05/07/3064843.html

十、JDK8安装

下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
下载Linux版本的JDK8,通过Xftp将下载好的JDK上传到Linux中,

10.1 解压

在JDK文件解压到/usr/local目录下,执行命令:

tar  -zxvf  jdk-8u121-linux-x64.tar.gz  -C  /usr/local/

10.2 配置环境变量

首先:java -version查看JDK版本,发现系统默认是使用的OpenJDK
修改/etc目录下的profile文件,在profile文件的最后加上:
注意:如果担心文件修改错误,可以先备份文件, 执行cp 命令

export JAVA_HOME=/usr/local/jdk1.8.0_121  # jdk解压的位置,需要根据具体情况进行修改
export PATH=$JAVA_HOME/bin:$PATH		# jdk中bin文件夹的位置,不需要修改
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar #jar包位置,不需要修改

10.3 执行source命令

profile文件修改完成后,执行 source /etc/profile 让上面的配置生效

source命令:通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

10.4 执行java -version检查是否配置成功

十一、Tomcat安装

tomcat官网:http://tomcat.apache.org/
下面的地址国内的镜像地址,下载速度比较快。
8.5版本:
http://124.202.164.12/files/223600000A5B3B20/mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz

9.0版本:
http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M26/bin/apache-tomcat-9.0.0.M26.tar.gz

11.1 解压

使用Xftp上传 apache-tomcat-9.0.0.M26.tar到Linux系统中,解压缩:

tar  -zxvf  apache-tomcat-8.5.16.tar.gz  -C  /usr/local/

解压后的目录:
在这里插入图片描述

11.2 启动Tomcat

tomcat解压缩后就可以使用了,用cd命令切换到tomcat主目录下的bin目录
在这里插入图片描述
在tomcat安装目录/bin下执行:./startup.sh
启动tomcat并打印启动日志,在/bin下执行:./startup.sh | tail -f tomcat安装目录/logs/catalina.out &(加&表示后台启动,日志文件一变化就会打印,可以不加&,只打印一次)

11.3 关闭Tomcat

在tomcat安装目录/bin下执行:./shutdown.sh

11.4 查看日志

Tomcat启动后会在Tomcat安装目录/logs下生成日志文件

  • catalian.out
    控制台输出的日志文件(在eclippse中的console窗口的内容),查看此文件。可以使用cat , more , less , grep , 常用查看日志 tail -f catalina.out
  • localhost_access_log.2017-08-16.txt
    tomcat接收到的http请求日志。tomcat服务器上运行的web应用接收的请求,请求方式(get,post),请求地址,请求参数(get请求),处理是否成功都在此文件记录。
    文件命名:localhost_access_log_yyyy-MM-dd.log。

11.5 .war包部署项目

把web应用打包为 .war扩展名的文件。把xxx.war文件部署到tomcat的webapps目录,即可在tomcat中运行web应用。Tomcat会自动解压war包
注意:war包的名字即为部署完后项目的网站名。如果直接将 war 包中的内容部署到 ROOT 文件夹下,则访问不需要网站名。

十二、MySQL安装

下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

12.1 先检查是否安装了mariadb

检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。

  • 检查检查命令:
    yum  list  installed  |  grep mariadb
    

若linux中安装了mariadb数据库,先卸载掉,mariadb数据库可能与安装mysql发生冲突,
在这里插入图片描述

  • 执行卸载命令:
yum -y remove mariadb-libs.x86_64

其中mariadb-libs.x86_64是第2步搜索出来的mariadb软件包,不同机器可能不一样, -y参数确认删除。

等待卸载完成:提示Complete ,卸载完成
在这里插入图片描述

12.2 解压并重命名MySQL

首先使用Xftp上传文件mysql-5.7.18-linux-glibc2.5-x86_64.tar

然后解压MySQL:

  • 执行命令:
    tar  -zxvf  mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz  -C  /usr/local/
    

将解压后的mysql-5.7.18-linux-glibc2.5-x86_64改名为mysql-5.7.18 或者 mysql,为了明确mysql的版本,建议改名为mysql-5.7.18

  • 执行命令:
    mv  mysql-5.7.18-linux-glibc2.5-x86_64  mysql-5.7.18
    

12.3 创建data文件夹

data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。
默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹,切换到mysql-5.7.18目录,执行创建文件夹命令

  • 在mysql-5.7.18根目录下执行命令
mkdir  data

12.4 创建用户

创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。
执行命令:

useradd  mysql

12.5 初始化MySQL

使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。

(1)生成随机的root密码

在mysql-5.7.18/bin目录下执行命令:

./mysqld  --initialize  --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18

参数说明:

  • –initialize:初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。
  • –user:执行msyqld 命令的linux用户名
  • –datadir:mysql数据文件的存放位置,目录位置参照本机的设置。
  • –basedir:msyql安装程序的目录,目录位置参照本机的设置。

该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用
在这里插入图片描述

(2)不生成密码(密码为空)

在mysql-5.7.18/bin目录下执行命令:

./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18

参数说明:

  • –initialize-insecure:不随机生成密码。密码为空

12.6 启用安全功能

在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序,mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。

  • 在mysql-5.7.18/bin目录下执行命令:
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data

12.7 修改mysql安装目录的权限

mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组,是之前创建的mysql用户。在mysql安装目录的上级(/usr/local/)位置,执行命令chown .
在mysql安装目录的上级(/usr/local/)位置,执行命令:

chown  -R  mysql:mysql  /usr/local/mysql-5.7.18/

参数说明:

  • mysql:mysql 表示文件夹的所属用户,所属组
  • R : 表示递归,更改目录中所有子文件夹的权限。

查看原目录所有者

12.8 启动MySQL

启动MySQL服务,
在mysql-5.7.18/bin目录下执行命令:

./mysqld_safe &

参数说明:

  • & 符号表示后台启

mysqld_safe程序会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe程序来启动MySQL服务器的做法在unix/linux系统上很常见

确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql

12.9 登录MySQL并修改密码

登录进入mysql,在mysql-5.7.18/bin目录下执行命令:

./mysql -uroot -p

参数说明:

  • -u 表示使用root用户登录系统,使用第8步生成的密码。
  • -p 表示使用密码登录,第一次登录要使用刚才生成的密码进行登录

第12.5步的root用户密码是临时的,要修改才能使用。所以第一次登入之后,当执行sql语句时,第一次使用将会提示修改mysql的root用户密码:
在这里插入图片描述
修改mysql的root用户的密码,命令语法:alter user ‘用户名’@‘主机域名或ip’ identified by ‘新密码’
在mysql中执行命令:

alter user 'root'@'localhost' identified by '123456';

修改root用户的密码成功后,再执行sql语句就没有问题了。

12.10 授权远程访问

授权远程访问,在没有授权之前只能在本机访问msyql, 远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)
授权命令:grant
语法:grant all privileges on *.* to root@'%' identified by '123456';
参数:

  • *.*: 的第一个*表示所有数据库名,第二个*表示所有的数据库表;
  • root@'%': root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.10.129
  • '123456':为要授权用户名的密码
  1. 在mysql中执行授权命令,并刷新权限:
grant all privileges on *.* to root@'%' identified by '123456';
flush  privileges;

12.11 关闭防火墙

操作防火墙的命令:
查看防火墙状态:systemctl status firewalld
在这里插入图片描述
running说明防火墙正在运行,所以要禁用防火墙
禁用防火墙:systemctl stop firewalld
在这里插入图片描述

12.12 关闭MySQL服务

关闭,停止mysql服务器
在mysql-5.7.18/bin目录下执行:

./mysqladmin -uroot -p shutdown 输入密码关闭

12.13 其它操作

1. 乱码问题

具体表现为:查询时无中文乱码问题,写数据时中文乱码
解决:
在项目中配置数据库url的地址后面加上参数:

jdbc.url=jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值