Linux基础学习

该文详细介绍了在CentOS和Ubuntu系统中安装MySQL5.7和8.0版本的步骤,包括使用yum和apt仓库,配置root用户密码,远程访问权限,以及系统服务的启动和管理。同时,文章还涉及到了基本的Linux命令和网络检查。
摘要由CSDN通过智能技术生成

Ctrl+L 清屏

 如下命令均以 centOs 系统为主

一.虚拟机以及系统安装

安装VMware虚拟机

检察虚拟机安装后,网络是否正常,win+R,输入

ncpa.cpl

只要有VMnet1 和 VMnet8,就表示安装成功

 二.各种命令简介

 ls,cd,pwd

 

 

 mkdir

 

 touch,more,cat

 

  cp,mv,rm

 

 

 

 

which,find

 grep,wc,echo

 

 

 

 

 

 tail

 

 vi\vim

 

 

 

三章.权限

 .

 

 

 

 

 

 

 

 

 

 四.进一步了解linux

快捷键

 

 

 

 

 软件安装(yum,apt)

 

 

 

 

 windows中的wsl ,默认配置好了sudo权限,直接用sudo执行切换用户命令,只需要输入当前用户的密码即可,而不需要输入root用户密码。

systemctl

 

 

 软连接

 日期和时区

 

 

 

 ubuntu 系统下这个服务就叫ntp

 IP地址和主机名

 

 

 

 

 

 子网IP,再学习中为了顺利向后进行,可以和图片中一样,设置为88,也可以随意修改。

子网掩码:必须为255.255.255.0

 

 网络传输(网络请求和下载)

 

 

 

网络传输(端口)

 

 

 

 进程管理

 

 主机状态

 

 

 

 

 

 

 

 

 环境变量

 

 上传、下载

 如果是大文件,尽量用finalShell 窗口进行拖拽,这样更快。

压缩和解压

第五章(实战应用)

MySQL 5.7版本安装(centOS)

需要root 权限

1.配置yum仓库

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

由于MySQL并不在CentOS的官方仓库中,所以我们通过上述rpm命令:

  • 导入MySQL仓库的密钥

  • 配置MySQLQ的yum仓库

2.使用yum安装MySQL

# yum安装Mysql
yum -y install mysql-community-server

3.安装完成后,启动MySQL并配置开机自启动

systemctl start mysqld        # 启动
systemctl enable mysqld        # 开机自启

MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

4.检查MySQL的运行状态

systemctl status mysqld

配置:主要配置管理员用户root的密码以及配置允许远程登录的权限

获取MySQL的初始密码

# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log

登陆MySQL数据库系统

# 执行
mysql -uroot -p
# 解释
# -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
# -p,表示使用密码登陆

# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

修改root用户密码

# 在MySQL控制台内执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';    -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc

[扩展],配置root的简单密码

# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级别低
set global validate_password_length=4;     # 密码长度最低4位即可

# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';

[扩展],配置root运行远程登录

# 授权root远程登录
grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;  
# IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
# 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同

# 刷新权限,生效
flush privileges;

退出MySQL控制台页面

# 退出命令
exit

# 或者通过快捷键退出:ctrl + d

检查端口

MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

netstat -anp | grep 3306

至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

MySQL8.0版本在CentOS系统安装

注意:安装操作需要root权限

1.配置yum仓库

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 安装Mysql8.x版本 yum库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

2.使用yum安装MySQL

# yum安装Mysql
yum -y install mysql-community-server

3.安装完成后,启动MySQL并配置开机自启动

systemctl start mysqld        # 启动
systemctl enable mysqld        # 开机自启

MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

4.检查MySQL的运行状态

systemctl status mysqld

配置(主要修改root密码和允许root远程登录 )

1.获取MySQL的初始密码

# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log

2.登录MySQL数据库系统

# 执行
mysql -uroot -p
# 解释
# -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
# -p,表示使用密码登陆

# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

3.修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';    -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc

4.[扩展],配置root的简单密码

我们可以给root设置简单密码,如123456.

请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码

set global validate_password.policy=0;        # 密码安全级别低
set global validate_password.length=4;        # 密码长度最低4位即可

5.允许root远程登录,并设置远程登录密码

默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统

请注意,允许root远程登录会带来安全风险

# 第一次设置root远程登录,并配置远程密码使用如下SQL命令
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!';    -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc

# 后续修改密码使用如下SQL命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

6.退出MySQL控制台页面

# 退出命令
exit

# 或者通过快捷键退出:ctrl + d

7.检查端口

MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

netstat -anp | grep 3306

至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

MySQL5.7版本在Ubuntu系统安装

Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本。所以我们需要额外的步骤才可以安装5.7版本的MySQL

安装操作需root权限,你可以:

  1. 通过 sudo su -,切换到root用户

    课程中选择这种方式操作

  2. 或在每一个命令前,加上sudo,用来临时提升权限

1.下载apt仓库文件

# 下载apt仓库的安装包,Ubuntu的安装包是.deb文件
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

2. 配置apt仓库

# 使用dpkg命令安装仓库
dpkg -i mysql-apt-config_0.8.12-1_all.deb

弹出框中选择:ubuntu bionic (Ubuntu18.04系统的代号是bionic,选择18.04的版本库用来安装)

弹出框中选择:MySQL Server & Cluster

弹出框中选择:mysql-5.7

最后选择:ok

3.更新apt仓库的信息

# 首先导入仓库的密钥信息
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
# 更新仓库信息
apt update

4.检查是否成功配置MySQL5.7的仓库

apt-cache policy mysql-server

5.安装MySQL5.7

# 使用apt安装mysql客户端和mysql服务端
apt install -f -y mysql-client=5.7* mysql-community-server=5.7*

# 弹出框中输入root密码并选择ok,密码任意,课程中以123456代替

# 再次输入root密码确认

6.启动MySQL

/etc/init.d/mysql start            # 启动
/etc/init.d/mysql stop            # 停止
/etc/init.d/mysql status        # 查看状态

7.对MySQL进行初始化

# 执行如下命令,此命令是MySQL安装后自带的配置程序
mysql_secure_installation
# 可以通过which命令查看到这个自带程序所在的位置
root@DESKTOP-Q89USRE:~# which mysql_secure_installation
/usr/bin/mysql_secure_installation

1.输入密码

2.是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要直接回车

3.是否更改root密码,需要输入y回车,不需要直接回车

4.是否移除匿名用户,移除输入y回车,不移除直接回车

5.是否进制root用户远程登录,禁止输入y回车,不禁止直接回车

6.是否移除自带的测试数据库,移除输入y回车,不移除直接回车

7.是否刷新权限,刷新输入y回车,不刷新直接回车

8.登陆MySQL

mysql -uroot -p
# 输入密码即可登陆成功

至此,在Ubuntu上安装MySQL5.7版本成功。

MySQL8.0版本在Ubuntu系统安装

Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本

所以直接可以通过apt安装即可

安装操作需root权限,你可以:

  1. 通过 sudo su -,切换到root用户

    课程中选择这种方式操作

  2. 或在每一个命令前,加上sudo,用来临时提升权限

安装

  1. 如果已经安装过MySQL5.7版本,需要卸载仓库信息哦

    # 卸载MySQL5.7版本
    apt remove -y mysql-client=5.7* mysql-community-server=5.7*
    ​
    # 卸载5.7的仓库信息
    dpkg -l | grep mysql | awk '{print $2}' | xargs dpkg -P
  2. 更新apt仓库信息

    apt update
  3. 安装mysql

    apt install -y mysql-server
  4. 启动MySQL

    /etc/init.d/mysql start         # 启动
    /etc/init.d/mysql stop          # 停止
    /etc/init.d/mysql status        # 查看状态
  5. 登陆MySQL设置密码

    # 直接执行:mysql
    mysql
  6. 设置密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
  7. 退出MySQL控制台

    exit
  8. 对MySQL进行初始化

    # 执行如下命令,此命令是MySQL安装后自带的配置程序
    mysql_secure_installation
    # 可以通过which命令查看到这个自带程序所在的位置
    root@DESKTOP-Q89USRE:~# which mysql_secure_installation
    /usr/bin/mysql_secure_installation
    

    1.输入密码

    2.是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要直接回车

    3.是否更改root密码,需要输入y回车,不需要直接回车

    4.是否移除匿名用户,移除输入y回车,不移除直接回车

    5.是否进制root用户远程登录,禁止输入y回车,不禁止直接回车

    6.是否移除自带的测试数据库,移除输入y回车,不移除直接回车

    7.是否刷新权限,刷新输入y回车,不刷新直接回车

 9.重新登录MySql(用更改后的密码)

mysql -uroot -p

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

GRANT all ON *.* TO 'root'@'%';

 至此,在Ubuntu上安装MySQL8.0版本成功。

特殊演示,在CentOs系统上显示源代码安装MYSQL

1.软件安装包

mysql-5.6.31.tar.gz        //可在任意发行版的 Linux 下安装

2.安装需求

安装目录basedir:/mysql31

数据存放目录datadir:/mysql31/data

端口号:3307

socket文件存放目录:$basedir/mysql31.sock

根据需求开启相应功能

4.安装步骤

1.确保cmake安装,先安装ncurses-devel.x86_64

yum clean all

yum makecache

yum list|grep ncur

yum -y install ncurses-devel        //(Debian/Ubuntu需安装libncurses5-dev)

yum -y install cmake

yum -y install gcc

yum -y install gcc-c++

2.解压软件包

cd /usr/local/

tar -zxf mysql-5.6.31.tar.gz 

cd mysql-5.6.31/

 vim cmake.sh

#!/bin/bash
cmake . \
-DCMAKE_INSTALL_PREFIX=/mysql31 \
-DMYSQL_DATADIR=/mysql31/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/mysql31/mysql31.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DEFAULT_CHARSET=utf8mb4 \
-DEFAULT_COLLATION=utf8mb4_general_ci

chmod +x cmake.sh        //让刚编辑的文件可以执行

./cmake.sh        //执行这个文件,如果这步出错,大概率是因为没有依赖包。安装好依赖包后记得删除解压目录下的 CMakeCache.txt 后再执行

echo $?        //如果结果是0,表示上一条命令正确执行

// 因为指定路径有时间并不会创建,所以有时候执行会失败,干脆执行make指令的时候,一边创建目录一边继续执行。

make && make install        //至此安装完成了。

5.后续配置(一定要先cd到安装目录,)

 cd /mysql31/

useradd mysql -r -s /bin/false        //添加一个 mysql 用户,-r 是系统用户,-s 指定权限不能登录系统,也可以不用这么严格。-s /sbin/nologin

chown -R mysql.mysql /mysql31/        将/mysql31/下的(连级)文件所有改为mysql用户

# 初始化数据库,默认data文件夹里只有个test【--lower-case-table-names=1 】

//  如果初始化提示需要先安装dump啥的,就执行yum -y install autoconf

//Autoconf是一个用于生成shell脚本的工具,可以自动配置软件源代码以适应多种类似POSIX的系统。为了让你的软件包在所有的不同系统上都可以进行编译。

scripts/mysql_install_db --user=mysql

两个ok说明成功,也可以用echo $?,结果是0也是成功

或者 ll data/ 下,有ib_logfile0,ib_logfile1,mysql文件夹 也是成功了

cp support-files/mysql.server /etc/init.d/mysql31

ll /etc/init.d/mysql31        //看一下此文件一定要有执行权限,绿色的。

# 启动mysql

service mysql31 start

ps -ef |grep mysql        //查看启动进程

ss -nltp|grep mysql        //查看端口

./bin/mysqladmin -u root password 'new-password'        //给root 用户弄个新密码。如果现在不设置密码,那么直接用mysql 命令可以直接登录。如果已经设置了,想再改,可以这样

./bin/mysqladmin -u root password 'old-password' -p123
./bin/mysqladmin -u root -h XXX password 'new-password'        //给本机关联用户弄密码,可以不用弄。向上再安装完成后,后这条命令

bin/mysql_secure_installation --user=mysql        //安全配置,上面的也弄过

mysql -S /mysql31/mysql31.sock -uroot -p        //输入密码就可以链接数据库了

如果不用-S,会提示,通过XXX路径下的.sock文件无法链接数据库。

那么ls 一下这个文件,发现不存在这个文件,则将我们安装的.sock 的快捷方式放过去

例如:

ln -s /mysql31/mysql31.sock /var/lib/mysql/mysql.sock

这样直接执行mysql -uroot -p 也能链接本机数据库了

***【起别名】***

alias mysql31='mysql -S /mysql31/mysql31.sock'        //这样就省去自己写-S xxx了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值