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-server3.安装完成后,启动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.rpm2.使用yum安装MySQL
# yum安装Mysql
yum -y install mysql-community-server3.安装完成后,启动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.log2.登录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权限,你可以:
通过 sudo su -,切换到root用户
课程中选择这种方式操作
或在每一个命令前,加上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_installation1.输入密码
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权限,你可以:
-
通过 sudo su -,切换到root用户
课程中选择这种方式操作
-
或在每一个命令前,加上sudo,用来临时提升权限
安装
-
如果已经安装过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
-
更新apt仓库信息
apt update
-
安装mysql
apt install -y mysql-server
-
启动MySQL
/etc/init.d/mysql start # 启动 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql status # 查看状态
-
登陆MySQL设置密码
# 直接执行:mysql mysql
-
设置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
-
退出MySQL控制台
exit
-
对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了