Linux(CentOS)安装 MySQL
CentOS版本:CentOS 7
三种安装方式:
一、通过 yum 安装,最简单,一键安装,全程无忧。
二、通过 rpm 包安装,需具备基础概念及常规操作。
三、通过 gz 包安装,需具备配置相关操作。
---------------------------------------------------------------------------------------------------------------------------------
一、通过 yum 安装
安装 MySQL版本:MySQL Community Server 8.4.3 LTS
最简单的安装方式,但过程中涉及的密钥、rpm源url等地址如果过期,需要重新获取新的url
需要 root 权限,使用 root 用户进行命令操作。
1、获取官方 yum 源(url)
查看 CentOS 版本
cat /etc/redhat-release
打开 MySQL 官方 yum 仓库网站https://repo.mysql.com/,获取与当前 CentOS 版本匹配的源的url(CentOS 7对应el7):https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
2、安装 MySQL
导入密钥:当前最新密钥urlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2023,暂时搞不清楚这个密钥url是如何获取的。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
【过往密钥urlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022】
通过上面获取到的 yum 源(url)https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm,安装 mysqlyum 仓库
rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
使用 yum 自动安装 MySQL
yum -y install mysql-community-server
查看 MySQL 安装目录
whereis mysql
3、启动 MySQL
【MySQL 安装完成后,会自动配置名称为 mysqld 的服务,可以被 systemctl 管理。】
启动 MySQL 服务
systemctl start mysqld
设置 MySQL 服务开机自动启动
systemctl enable mysqld
查看 MySQL 服务状态
systemctl status mysqld
查看 MySQL 服务进程
ps axj | grep mysqld
4、登录 MySQL
获取临时密码进行登录
获取 MySQL 日志文件的路径,查看配置文件/etc/my.cnf 中的 log-error 的内容 /var/log/mysqld.log 就是 MySQL 日志文件的路径
cat /etc/my.cnf
再查看 MySQL 日志文件 /var/log/mysqld.log,使用通道符按关键字直接检索,获取临时密码
grep "temporary password" /var/log/mysqld.log
登录 MySQL
mysql -u root -p
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
alter user 'root'@'localhost' identified by '复杂的密码';
退出 MySQL
exit;
重新登录 MySQL,使用修改后的密码
mysql -u root -p
退出 MySQL
exit;
5、开放端口 3306
为什么是 3306 ?
查看 MySQL 服务监听哪些端口
netstat -nap | grep mysqld
检查端口是否开放
firewall-cmd --zone=public --query-port=3306/tcp
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载
firewall-cmd --reload
再检查端口是否开放
firewall-cmd --zone=public --query-port=3306/tcp
6、设置远程登录
MySQL默认只能本地连接,不允许远程终端连接
--------------------------------------------------------------------------------------------------------------------------------
【前置测试,目的是为了搞清楚在设置远程登录之前,在远程终端上进行连接的情况】
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p
失败,提示不允许连接
在远程终端(192.168.88.1)上通过【第三方图形化工具】连接
失败,提示不允许连接
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL,新建 root 用户,允许在远程终端(192.168.88.1)上远程登录
mysql -u root -pcreate user 'root'@'192.168.88.1' identified by '复杂的密码';
如果是允许在所有远程终端上远程登录,则使用这个命令:
create user ‘root’@‘%’ identified by ‘复杂的密码’;
修改密码
alter user 'root'@'192.168.88.1' identified by '复杂的密码';
授予权限(最大权限)
grant all privileges on *.* to 'root'@'192.168.88.1';
刷新权限
flush privileges;
查看用户情况
SELECT host, user FROM mysql.user WHERE user = 'root';
7、测试远程登录
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p
连接登录进去,可以相应的数据库操作
SELECT host, user FROM mysql.user WHERE user = 'root';
在远程终端(192.168.88.1)上通过【第三方图形化工具】连接
连接登录进去,可以相应的数据库操作
SELECT host, user FROM mysql.user WHERE user = 'root';
二、通过 rpm 包安装
安装 MySQL版本:MySQL Community Server 8.4.3 LTS
需要 root 权限,使用 root 用户进行命令操作。
1、准备安装环境
查询是否存在 MariaDB 相关安装包,MariaDB是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
rpm -qa | grep mariadb
删除已经安装的mariadb,通过上面查询得到的文件名为:mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps 文件名
再查询是否存在 MariaDB 相关安装包
rpm -qa | grep mariadb
查看正在运行的 MySQL 服务
ps axj | grep mysql
存在正在运行的 MySQL 服务,停止 MySQL 服务
systemctl stop mysqld
查看 MySQL 服务状态
systemctl status mysqld
查询是否存在 MySQL 相关安装包
rpm -qa | grep mysql
存在 MySQL 相关安装包,全部卸载
rpm -qa | grep mysql | xargs yum -y remove
再检查是否存在 MySQL 相关安装包
rpm -qa | grep mysql
查询是否存在 MySQL 相关安装文件
find / -name mysql
存在 MySQL 相关安装文件,全部删除
rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /export/server/mysql
再查询是否存在 MySQL 相关安装文件
find / -name mysql
删除 MySQL 相关配置文件
rm -rf /etc/my.cnf /etc/init.d/mysql /etc/init.d/mysqld
删除 mysql 用户和用户组
userdel mysqlgroupdel mysql
2、下载 rpm 包
在远程终端计算机上,打开MySQL官网:https://www.mysql.com/
直接下载网址:https://dev.mysql.com/downloads/mysql/
其他版本
3、上传 rpm 包到 CentOS
使用FinalShell远程登录工具,并且使用 root 用户连接登录(注意这里说的root用户连接登录是指这样的)
4、解压 rpm 包
创建目录/export/server/mysql
mkdir -p /export/server/mysql
解压到目录/export/server/mysql
.tar.gz 格式的为打包压缩,使用 tar -zxvf,解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩,使用 tar -xvf,解压后是相关的文件,不是目录。
所以这里需要在解压前,创建目录/export/server/mysql,解压到这个目录。
tar -xvf mysql-8.4.3-1.el7.x86_64.rpm-bundle.tar -C /export/server/mysql
查看解压后情况
ls -l /export/server/mysql
5、安装依赖
安装openssl 和 openssl-devel,OpenSSL库是用于加密和解密数据的库,MySQL在安全通信时需要使用OpenSSL库。
yum -y install openssl openssl-devel
安装 libaio,libaio库是Linux异步I/O操作的库,MySQL在进行I/O操作时需要使用libaio库。
yum -y install libaio
安装ncurses,ncurses库是用于控制终端输出的库,MySQL的终端工具需要使用ncurses库。
yum -y install libncurses*
6、安装 MySQL
进入目录 /export/server/mysql,查看目录内容
cd /export/server/mysqlls -l
依次执行以下命令,依次安装 /export/server/mysql 目录下的各个.rpm文件
rpm -ivh mysql-community-common-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-plugins-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-icu-data-files-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-server-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-compat-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-embedded-compat-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-devel-8.4.3-1.el7.x86_64.rpm;
7、配置 MySQL
修改配置文件/etc/my.cnf,在 [mysqld] 中增加配置内容
vim /etc/my.cnf
增加的配置内容以下
# 设置 MySQL 服务运行的端口号
port = 3306
# 指定 MySQL 数据库的默认字符集
character-set-server=utf8mb4
# 允许外部访问
bind-address=0.0.0.0
# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
# 设置 MySQL 允许访问的最大连接数
max_connections = 1000
# 指定MySQL服务器存储数据文件的目录
datadir=/var/lib/mysql
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED
# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
目录授权
chown -R mysql:mysql /var/lib/mysql/
chown -R 表示对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chown mysql.mysql 和 mysql:mysql 这两种写法是一样的,都是将后面指定的目录所属用户和组改成 mysql 用户和 mysql 组
8、启动 MySQL
【MySQL 安装完成后,会自动配置名称为 mysqld 的服务,可以被 systemctl 管理。】
启动 MySQL 服务
systemctl start mysqld.service
设置 MySQL 服务开机自动启动
systemctl enable mysqld.service
查看 MySQL 服务
systemctl status mysqld.service
查看 MySQL 服务进程
ps axj | grep mysqld
9、登录 MySQL
方式1:
获取临时密码进行登录
获取 MySQL 日志文件的路径,查看配置文件/etc/my.cnf 中的 log-error 的内容 /var/log/mysqld.log 就是 MySQL 日志文件的路径
cat /etc/my.cnf
再查看 MySQL 日志文件 /var/log/mysqld.log,使用通道符按关键字直接检索,获取临时密码
grep "temporary password" /var/log/mysqld.log
登录 MySQL
mysql -u root -p
查看 MySQL 版本
SELECT VERSION();
不修改密码,不允许执行SQL命令。
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
alter user 'root'@'localhost' identified by '复杂的密码';
退出 MySQL
exit;
重新登录 MySQL,使用修改后的密码
mysql -u root -p
查看 MySQL 版本
SELECT VERSION();
修改密码后,就可以执行SQL命令。
退出 MySQL
exit;
--------------------------------------------------------------------------------------------------------------------------------
方式2:
跳过密码验证进行登录。不推荐。除非通过方式1获取不到临时密码,或者使用过程中忘记密码了。
修改/etc/my.cnf 配置文件,在 [mysqld] 后面任意一行添加 skip-grant-tables
vim /etc/my.cnf
重启 MySQL
systemctl restart mysqld
登录 MySQL(无 -p 选项,无需密码登录)
mysql -u root
查看 MySQL 版本
SELECT VERSION();
刷新权限 ,需要刷新权限之后才能修改密码
flush privileges;
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
alter user 'root'@'localhost' identified by '复杂的密码';
退出 MySQL
exit;
再修改/etc/my.cnf 配置文件,将 skip-grant-tables 这行注释或删除掉
vim /etc/my.cnf
重启 MySQL
systemctl restart mysqld
重新登录 MySQL,使用修改后的密码
mysql -u root -p
退出 MySQL
exit;
--------------------------------------------------------------------------------------------------------------------------------
10、开放端口3306
为什么是 3306 ?
查看 MySQL 服务监听哪些端口
netstat -nap | grep mysqld
检查端口是否开放
firewall-cmd --zone=public --query-port=3306/tcp
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载
firewall-cmd --reload
再检查端口是否开放
firewall-cmd --zone=public --query-port=3306/tcp
11、设置远程登录
MySQL默认只能本地连接,不允许远程终端连接
--------------------------------------------------------------------------------------------------------------------------------
【前置测试,目的是为了搞清楚在设置远程登录之前,在远程终端上进行连接的情况】
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p
失败,提示不允许连接
在远程终端(192.168.88.1)上通过【第三方图形化工具】连接
失败,提示不允许连接
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL,新建 root 用户,允许在远程终端(192.168.88.1)上远程登录
mysql -u root -pcreate user 'root'@'192.168.88.1' identified by '复杂的密码';
如果是允许在所有远程终端上远程登录,则使用这个命令:
create user ‘root’@‘%’ identified by ‘复杂的密码’;
% 代表所有终端
修改密码
alter user 'root'@'192.168.88.1' identified by '复杂的密码';
授予权限(最大权限)
grant all privileges on *.* to 'root'@'192.168.88.1';
刷新权限
flush privileges;
查看用户情况
SELECT host, user FROM mysql.user WHERE user = 'root';
退出 MySQL(Ctrl + D 快捷键)
12、测试远程登录
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p
连接登录进去,可以相应的数据库操作
SELECT host, user FROM mysql.user WHERE user = 'root';
在远程终端(192.168.88.1)上通过【第三方图形化工具】连接
连接登录进去,可以相应的数据库操作
SELECT host, user FROM mysql.user WHERE user = 'root';
13、删除安装文件
删除安装包文件
rm -rf /root/mysql-8.4.3-1.el7.x86_64.rpm-bundle.tar
删除安装包解压的安装目录
rm -rf /export/server/mysql
三、通过 gz 包安装
安装 MySQL版本:MySQL Community Server 5.7.44
需要 root 权限,使用 root 用户进行命令操作。
1、准备安装环境
查询是否存在 MariaDB 相关安装包,MariaDB是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
rpm -qa | grep mariadb
删除已经安装的mariadb,通过上面查询得到的文件名为:mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps 文件名
再查询是否存在 MariaDB 相关安装包
rpm -qa | grep mariadb
查看正在运行的 MySQL 服务
ps axj | grep mysql
存在正在运行的 MySQL 服务,停止 MySQL 服务
systemctl stop mysqld
查看 MySQL 服务状态
systemctl status mysqld
查询是否存在 MySQL 相关安装包
rpm -qa | grep mysql
存在 MySQL 相关安装包,全部卸载
rpm -qa | grep mysql | xargs yum -y remove
再检查是否存在 MySQL 相关安装包
rpm -qa | grep mysql
查询是否存在 MySQL 相关安装文件
find / -name mysql
存在 MySQL 相关安装文件,全部删除
rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /export/server/mysql
再查询是否存在 MySQL 相关安装文件
find / -name mysql
删除 MySQL 相关配置文件
rm -rf /etc/my.cnf /etc/init.d/mysql /etc/init.d/mysqld
删除 mysql 用户和用户组
userdel mysqlgroupdel mysql
2、下载 gz 包
打开MySQL官网:https://www.mysql.com/
获取与当前 CentOS 版本匹配的 gz 编译源码包链接地址:
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz
下载 gz 编译源码包到 /root 目录下
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz
查看/root 目录内容
ls /root
3、解压 gz 包
创建目录/export/server
mkdir -p /export/server
解压到目录/export/server
.tar.gz 格式的为打包压缩,使用 tar -zxvf,解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩,使用 tar -xvf,解压后是相关的文件,不是目录。
tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz -C /export/server
查看解压后情况,在 /export/server 下 解压出一个与gz包同名的目录mysql-5.7.44-el7-x86_64
ls -l /export/server
为方便后续操作,将解压出来的目录mysql-5.7.44-el7-x86_64 重命名为 mysql,查看目录内容
mv /export/server/mysql-5.7.44-el7-x86_64 /export/server/mysqlls -l /export/server
4、安装依赖
安装开发工具包 gcc 和 gcc-c++
yum -y install gcc gcc-c++
安装依赖包
安装openssl 和 openssl-devel,OpenSSL库是用于加密和解密数据的库,MySQL在安全通信时需要使用OpenSSL库。
yum -y install openssl openssl-devel
安装 libaio,libaio库是Linux异步I/O操作的库,MySQL在进行I/O操作时需要使用libaio库。
yum -y install libaio
安装ncurses,ncurses库是用于控制终端输出的库,MySQL的终端工具需要使用ncurses库。
yum -y install libncurses*
5、安装 MySQL
进入目录/export/server/mysql,查看目录内容
cd /export/server/mysqlls -l
创建 mysql 用户组、mysql 用户
groupadd mysqluseradd -r -g mysql mysql
useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
useradd -g参数表示把mysql用户添加到mysql用户组中。
创建目录
创建 mysql 存储数据 data 目录
mkdir /export/server/mysql/data
创建 mysql 存储 mysq.sock 文件目录
mkdir /var/lib/mysql
目录授权
将 /export/server/mysql 和/var/lib/mysql目录所属用户和组改成 mysql 用户和 mysql 组
chown -R mysql:mysql /export/server/mysqlchown -R mysql:mysql /var/lib/mysql
chown -R 表示对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chown mysql.mysql 和 mysql:mysql 这两种写法是一样的,都是将后面指定的目录所属用户和组改成 mysql 用户和 mysql 组
创建 mysql 启动配置文件 my.cnf,配置内容
vim /etc/my.cnf
配置内容以下
[mysql]
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8[mysqld]
socket=/var/lib/mysql/mysql.sock
port=3306
basedir=/export/server/mysql
datadir=/export/server/mysql/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION[mysql.server]
user=mysql
basedir=/export/server/mysql
初始化 MySQL,因为目前MySQL目录(/export/server/mysql)设置的所属用户是mysql,所以–user=mysql,如果是 root 用户,–user=root
/export/server/mysql/bin/mysqld --initialize --user=mysql --basedir=/export/server/mysql --datadir=/export/server/mysql/data
设置开机启动
配置启动脚本,修改 basedir 和 datadir 的路径
vim /export/server/mysql/support-files/mysql.server
修改 $bindir/mysqld_safe 关键处,在其后面添加–user=mysql,MySQL目录的权限是什么用户就加什么用户,因为目前MySQL目录(/export/server/mysql)设置的所属用户是mysql,所以–user=mysql,如果是 root 用户,–user=root
将 /export/server/mysql/support-files/mysql.server 复制到 /etc/rc.d/init.d/mysqld
cp /export/server/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
赋予执行权限
chmod +x /etc/rc.d/init.d/mysqld
添加系统服务,将 mysqld 服务加入到系统服务
chkconfig --add mysqld
查看 mysql 服务,检查添加系统服务是否生效
chkconfig --list mysqld
因为 mysqld 是我们手动添加的,不是本地服务,所以想要设置开机启动不能用 systemctl enable mysqld ,systemctl 命令只能操作正常安装在系统的本地服务,所以要通过 chkconfig 命令来设置开机启动。
设置开机启动、关机开机启动
chkconfig mysqld onchkconfig mysqld off
检查环境变量
echo $PATH
配置环境变量,添加 mysql 环境变量
vim /etc/profile
刷新环境变量
source /etc/profile
再检查环境变量
echo $PATH
6、启动 MySQL
查看 MySQL 服务
systemctl status mysqld
启动 MySQL 服务
systemctl start mysqld
设置 MySQL 服务开机自动启动(因为 mysqld 是我们手动添加的,不是本地服务,不用使用systemctl enable mysqld 设置开机启动)
systemctl enable mysqld
查看 MySQL 服务
systemctl status mysqld
因为 mysqld 是我们手动添加的,不是本地服务,所以想要设置开机启动不能用 systemctl enable mysqld ,systemctl 命令只能操作正常安装在系统的本地服务,所以要通过 chkconfig 命令来设置开机启动。
查看 MySQL 服务进程
ps -ef | grep mysqld
7、登录 MySQL
获取临时密码进行登录,在前面初始化 MySQL 的时候,有输出临时密码。
登录 MySQL
mysql -u root -p
查看 MySQL 版本
SELECT VERSION();
不修改密码,不允许执行SQL命令。
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
alter user 'root'@'localhost' identified by '复杂的密码';
退出 MySQL
exit;
重新登录 MySQL,使用修改后的密码
mysql -u root -p
查看 MySQL 版本
SELECT VERSION();
修改密码后,就可以执行SQL命令。
退出 MySQL
exit;
8、开放端口3306
为什么是 3306 ?
查看 MySQL 服务监听哪些端口
netstat -nap | grep mysqld
检查端口是否开放
firewall-cmd --zone=public --query-port=3306/tcp
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载
firewall-cmd --reload
再检查端口是否开放
firewall-cmd --zone=public --query-port=3306/tcp
9、设置远程登录
MySQL默认只能本地连接,不允许远程终端连接
--------------------------------------------------------------------------------------------------------------------------------
【前置测试,目的是为了搞清楚在设置远程登录之前,在远程终端上进行连接的情况】
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p
失败,提示不允许连接
在远程终端(192.168.88.1)上通过【第三方图形化工具】连接
失败,提示不允许连接
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL,新建 root 用户,允许在远程终端(192.168.88.1)上远程登录
mysql -u root -pcreate user 'root'@'192.168.88.1' identified by '复杂的密码';
如果是允许在所有远程终端上远程登录,则使用这个命令:
create user ‘root’@‘%’ identified by ‘复杂的密码’;
% 代表所有终端
修改密码
alter user 'root'@'192.168.88.1' identified by '复杂的密码';
授予权限(最大权限)
grant all privileges on *.* to 'root'@'192.168.88.1';
刷新权限
flush privileges;
查看用户情况
SELECT host, user FROM mysql.user WHERE user = 'root';
退出 MySQL(Ctrl + D 快捷键)
10、测试远程登录
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p
连接登录进去,可以相应的数据库操作
SELECT host, user FROM mysql.user WHERE user = 'root';
在远程终端(192.168.88.1)上通过【第三方图形化工具】连接
连接登录进去,可以相应的数据库操作
SELECT host, user FROM mysql.user WHERE user = 'root';
11、删除安装文件
rm -rf /root/mysql-5.7.44-el7-x86_64.tar.gz
扩展
查看 mysql 命令所在的目录
which mysql
查看 mysql 所在的目录
whereis mysql
查看数据目录
方式1:
mysql -u root -p -e "show variables like 'datadir'"
方式2:查看配置文件
vim /etc/my.cnf
相关文章:
Linux(CentOS)安装 MySQL
CentOS版本:CentOS 7 三种安装方式: 一、通过 yum 安装,最简单,一键安装,全程无忧。 二、通过 rpm 包安装,需具备基础概念及常规操作。 三、通过 gz 包安装,需具备配置相关操作。 --------…...
头歌实训数据结构与算法-二叉树及其应用(第9关:二叉树的顺序存储及基本操作)
任务描述 本关任务:以顺序结构存储二叉树,编写前序、中序、后序及层次顺序遍历二叉树的算法,并计算二叉树深度、所有结点总数。 相关知识 二叉树的定义 二叉树的递归定义: 二叉树或者是一棵空树。 或者是一棵由一个根结点和两…...
打印进度条
文章目录 1.Python语言实现(1)黑白色(2)彩色:蓝色 2.C语言实现(1)黑白颜色(2)彩色版:红绿色 1.Python语言实现 (1)黑白色 import sys import timedef progress_bar(percentage, width50):"""打印进度条:param percentage: 当前进度百分比…...
【LLM】Langflow 的简单使用
(PS:爆肝整理,请不要吝啬你的点赞和收藏。) 什么是 Langflow ?Langflow 是一种用于构建多智能体和RAG应用的可视化框架。它提供了个无需编码的 AI 生态系统,能够无缝集成各种常用工具和技术栈。Langflow 以 Python 为基础&#x…...
探索 DC-SDK:强大的 3D 地图开发框架
在现代 Web 开发中,地理信息系统(GIS)和 3D 地图可视化变得越来越重要。dc-sdk 是一个基于 Cesium 的开源 WebGL 地图开发框架,它提供了丰富的地图可视化功能和简单易用的 API,使开发者能够轻松地在 Web 应用中集成 3D…...
3.5mm耳机接口硬件连接
结构 以最复杂的结构为例 简单的结构无非就是没有MIC(麦克风)接口 上图的5就是Detect的作用 上面这两款产品都为3.5mm的音频插座,图一 为连接4节的音频座,而且有两个开关,1接地,2接MIC,3接左声…...
nvidia_gpu_exporter 显卡监控
导入 grafana/dashboard.json https://github.com/utkuozdemir/nvidia_gpu_exporter/blob/master/grafana/dashboard.json参考 nvidia_gpu_exporter...
聊聊 Mongod 以及 MongoDB 常用命令
Mongod mongod 是 MongoDB 数据库服务器的核心守护进程,它负责启动并管理 MongoDB 数据库实例。简单来说,mongod 是 MongoDB 数据库服务器程序,它负责处理数据存储、数据请求、数据复制等后台服务。运行 mongod 是启动 MongoDB 数据库的第一…...
webrtc 源码阅读 make_ref_counted模板函数用法
目录 1. 模板参数解析 1.1 typename T 1.2 typename... Args 1.3 typename std::enable_if::value, T>::type* nullptr 2. scoped_refptr 3. new RefCountedObject(std::forward(args)...); 4. 综合说明 5.在webrtc中的用法 5.1 peerConnectionFactory对象的构建过…...
僵尸进程,孤儿进程、守护进程以及wait函数,waitpid函数
僵尸进程 如果子进程退出,但是父进程没有调用 wait 或 waitpid 获取子进程的状态信息,那么子进程的进程描述符(task_struct)仍然保存在系统中,那么该子进程叫做僵尸进程 #include<iostream> #include<pthre…...
Kafka消息不丢失与重复消费问题解决方案总结
1. 生产者层面 异步发送与回调处理 异步发送方式:生产者一般使用异步方式发送消息,异步发送有消息和回调接口两个参数。在回调接口的重写方法中,可通过异常参数判断消息发送状态。若消息发送成功,异常参数为null;若发…...
Docker新手:在tencent云上实现Python服务打包到容器
1 使用docker的原因 一致性和可移植性:Docker 容器可以在任何支持 Docker 的环境中运行,无论是开发者的笔记本电脑、测试服务器还是生产环境。这确保了应用在不同环境中的行为一致,减少了“在我的机器上可以运行”的问题。 隔离性ÿ…...
什么是 Spring 的组件(Bean)
什么是 Spring 的组件(Bean)? Spring 会自动创建、初始化、装配和销毁这些对象。Spring 使用 IoC(控制反转) 和 DI(依赖注入) 的理念,将应用程序的对象交给 Spring 容器统一管理&am…...
PawSQL性能巡检平台 (3) - 慢查询采集和优化
在数据库运维管理中,慢查询一直是影响系统性能的重要因素。本文将详细介绍PawSQL数据库性能巡检平台在慢查询管理和优化方面的功能特性,帮助数据库管理员更好地应对性能挑战。 一、PawSQL巡检平台慢查询管理概述 PawSQL平台提供了全面的慢查询管理功能&…...
虚拟机Centos下安装Mysql完整过程(图文详解)
目录 一. 准备工作 1. 设置虚拟机静态IP 2. 卸载Mysql 3. 给CentOS添加rpm源 二. 安装MySQL 1. 安装mysql服务 2. 启动mysql服务 3. 开启MySQL开机自启动 4. 查看mysql服务状态 5. 查看mysql初始密码 6. 登录mysql ,修改密码 7. 允许外部访问MySQL数据库…...
微服务保护-sentinel
为什么要有微服务保护? 微服务保护是为了避免微服务雪崩而出现的,每个微服务能处理的请求是有限的,如果一个微服务出现问题导致一个请求进入微服务的时间太久,就会导致大量去请求停滞在微服务内部,这样就会过分占用系统…...
Redis Java 集成到 Spring Boot
Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:Redis 📚本系列文章为个人学习笔…...
RabbitMQ实现生产者消费者
一.启动MQ 注意管理员身份进入cmd才行,我这里是在本地安装的MQ,推荐使用虚拟机安装 二.思路 官方解释RabbitMQ结构: 自我理解RabbitMQ结构: 其实RabbitMQ的服务器就像邮局一样,我们的生产者和消费者对于这个服务器来说都是消费者,因为服务器都可以向两者发送消息 环境准备 …...
stm32f103zet6 ds18b20
main.c // main.c #include "sys.h" #include "ds18b20.h"int main(void){ uart_init(9600);delay_init();while(DS18B20_Init()) //DS18B20初始化 {printf("error");delay_ms(200);}while(1){printf("%4.2f\r\n",Get_Temp());}}ds18…...
期权懂|期权入门知识:开通50ETF期权需要什么条件?
锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 开通50ETF期权需要什么条件? 一、基本资格要求 (1)年龄限制:投资者必须年满18周岁,具备完全民事行为能力。 &#…...
Linux day 1129
家人们今天继续学习Linux,ok话不多说一起去看看吧 三.Linux常用命令 3.1 Linux命令体验 3.1.1 常用命令演示 在这一部分中,我们主要介绍几个常用的命令,让大家快速感 受以下 Linux 指令的操作方式。主要包含以下几个指令: ls命…...
智能家居体验大变革 博联 AI 方案让智能不再繁琐
1. 全球AI技术发展背景及智能家居市场趋势 人工智能(AI)技术的飞速发展正在推动全球各行业的数字化转型。国际电信联盟与德勤联合发布《人工智能向善影响》报告指出,全球94%的商界领袖认为,人工智能技术对于其企业在未来5年内的发…...
git使用
git初始化 git init 指定要添加的文件 git add [文件名1] [文件名2] [文件名3] // 添加指定文件 git add . // 添加当前目录所有文件 将文件提交到本地仓库 git commit -m "备注信息" 添加远程仓库 git remote add origin [远程仓库地址] git remote -v // …...
嵌入科技的温情
嵌入式世界,是一个微小却无比精妙的宇宙。晶体管之间的脉动,仿佛是心跳的回响;代码中跳跃的逻辑,犹如人生中不可预知的转折。每一个嵌入式系统,都像是一个看不见的灵魂,将冰冷的机器唤醒,为生活…...
python利用selenium实现大麦网抢票
大麦网(damai.cn)是中国领先的现场娱乐票务平台,涵盖演唱会、音乐会、话剧、歌剧、体育赛事等多种门票销售。由于其平台上经常会有热门演出,抢票成为许多用户关注的焦点。然而,由于票务资源的有限性,以及大…...
PS等软件学习笔记
目录 一、ps基础操作快捷键 1、快速打开图片 2、屏幕画布变大变小 3、移动画布 4、CTRL回车,快速完成更改 5、还原 6、创建画布,CTRLN 7、复制图层,CTRLJ 8、一段文字行间距调整 9、反向选择,CTRLSHIFTI 10、抠图 二、…...
vue3学习笔记(9)-pinia、storeToRefs、getters
1.新的集中式状态(数据)管理库,redux vuex pinia 搭建 2.ref拆包 如果在reactive里面定义ref,则打印c时,无需.value 他自动拆包,如果直接在外面定义的ref则需要.value,他没有拆包 3.pinia存储读取数据 存…...
数据库基础知识---以MySQL为例
一、什么是MySQL 数据保存在不同的表中,而不是将所有数据放在一个大仓库内 二、特点 开源--免费下载跨平台--可以在多个操作系统进行运行性能好--可以出来大量数据简单--安装配置简单支持多种编程语言--可以与多种编程语言进行无缝集成 三、分类 DDL--数据定义…...
013-spring的注解整合第三方框架
给spring的ioc容器中添加对象 常用这3个方法...
使用ForceBindIP绑定应用到指定IP
前言 使用ForceBindIP工具,用户可以轻松地将特定应用程序绑定到指定的IP地址,从而确保应用程序的网络连接通过指定的网络适配器进行。通过在命令提示符下运行ForceBindIP并指定IP地址和应用程序的完整路径,用户能够控制应用程序的网络流量&a…...
python-LeetCode-两数之和
1. 两数之和 - 力扣(LeetCode) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:# 创建一个哈希表用于存储值和索引num_to_index {}for i, num in enumerate(nums):# 计算目标值需要的补数complement target - num# 如…...
项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(四)
文章目录 一、管理员角色功能实现1、添加教师功能实现1.1 页面设计1.2 前端功能实现1.3 后端功能实现1.4 效果展示2、教师管理功能实现2.1 页面设计2.2 前端功能实现2.3 后端功能实现2.3.1 后端查询接口实现2.3.2 后端编辑接口实现2.3.3 后端删除接口实现2.4 效果展示二、代码下…...
大语言模型的token和向量
现在大语言模型火了,像 ChatGPT 什么的,能回答问题、写文章,。但它们为啥这么聪明呢?这就和向量、Token 有关系。那怎么通过向量、Token来理解我们的问题呢。看完这篇文章就知道了 token Token 就像是语言里的小积木,…...
Hyperledger Fabric有那些核心技术,和其他区块链对比Hyperledger Fabric有那些优势
Hyperledger Fabric是一个模块化、权限化的企业级区块链平台,与比特币、以太坊等公有链相比,Fabric主要为私有链或联盟链设计,适用于企业应用。它包含多项核心技术,使其在企业级区块链应用中具有独特优势。以下是Fabric的核心技术…...
ThinkPHP 8高效构建Web应用-第一个简单的MVC应用示例
【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 我们先实现一…...
【Goland】怎么执行 go mod download
1、终端的执行 go mod tidy 2、终端执行不行的话,就可以通过右击go.mod文件来执行; 3、也可以按住Ctrl点击这个包安装;...
SpringBoot入门案例
目录 一、SpringBoot入门 1. Spring Boot 简介(脚手架) 2. 微服务 微服务优点: 微服务缺点: 3. 环境准备 3.1 spring boot项目的创建 3.2 导入spring boot相关的依赖 3.5 编写主程序 3.4 编写相关的controller、service…...
自定义 Celery的logging模块
为什么需要自定义 Celery 日志 默认的 Celery 日志配置虽然满足基本需求,但在以下情况下可能需要进行自定义: 支持日志滚动:原生celery不支持日志滚动。更详细的日志信息:需要包含更多上下文信息,以便更好地理解任务…...
docker-开源nocodb,使用已有数据库
使用已有数据库 创建本地数据库 数据库:nocodb 用户:nocodb 密码:xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1(适用于 bridge 网络模式)version: "2.1" services:nocodb:environment:…...
【UE5】UnrealEngine源码构建1:tag为5.3.2源码clone
fatal: fetch-pack: invalid index-pack output clone unreal 速度很快,但是很容易失败Cloning into UnrealEngine... remote: Enumerating objects: 6511087, done. remote: Counting objects: 100% (196/196), done. remote: Compressing objects: 100% (50/50), done. erro…...
RoboMIND:多体现基准 机器人操纵的智能规范数据
我们介绍了 RoboMIND,这是机器人操纵的多体现智能规范数据的基准,包括 4 个实施例、279 个不同任务和 61 个不同对象类别的 55k 真实世界演示轨迹。 工业机器人企业 埃斯顿自动化 | 埃夫特机器人 | 节卡机器人 | 珞石机器人 | 法奥机器人 | 非夕科技 | C…...
FPGA自学之路:到底有多崎岖?
FPGA,即现场可编程门阵列,被誉为硬件世界的“瑞士军刀”,其灵活性和可编程性让无数开发者为之倾倒。但谈及FPGA的学习难度,不少人望而却步。那么,FPGA自学之路到底有多崎岖呢? 几座大山那么高?…...
讲一个自己写的 excel 转 html 的 java 工具
由来 这是一个从开发需求中诞生的工具,在工作中因为有一个 excel 转 html 的任务,又没找到一个专门做这方面的工具(其他工具几乎都是简单的转换,无法还原 excel 样式,而且转换的宽高有点儿差距)࿰…...
打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”
有AI无碍 钟科:被黑暗卡住的开发梦 提起视障群体的就业,绝大部分人可能只能想到盲人按摩。但你知道吗?视障人士也能写代码。 钟科,一个曾经“被黑暗困住”的人,他的世界,因为一场突如其来的疾病,…...
爆改RagFlow
爆改RagFlow 一、Rag理论概述二、Ragflow解析参数说明三、♥ RagFlow源码解析核心代码流程梳理1、OCR识别2、版面分析3、parser功能3.1 PdfParser3.1.1 首先,初始化3.1.2 **pdf转图片** [来自工业界的知识库 RAG 服务(二),RagFlow 源码全流程深度解析](h…...
Unity 使用UGUI制作卷轴开启关闭效果
视频效果 代码 using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options;public class JuanZhou : MonoBehaviour {[SerializeField]private …...
android知识巩固(二.非线性数据结构)
非线性结构:是从逻辑结构上划分,其元素存在一对多或者多对多的相互关系 1.前言 在前一章中,我们了解了数据结构的基本思想,学习了部分基本的线性数据结构,了解了计算机是如何表示和存储数据的,良好的数据结构思想有助于我们写出性能优良的应用 2.目录 目录.png 3.非线性数据结构…...
Kafka中的Topic和Partition有什么关系?
大家好,我是锋哥。今天分享关于【Kafka中的Topic和Partition有什么关系?】面试题。希望对大家有帮助; Kafka中的Topic和Partition有什么关系? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Apache Kafka 中&#…...
CMS漏洞靶场攻略
DeDeCMS 环境搭建 傻瓜式安装 漏洞一:通过文件管理器上传WebShel 步骤⼀:访问目标靶场其思路为 dedecms 后台可以直接上传任意文件,可以通过⽂件管理器上传php文件获取webshell 登陆网站后台 步骤二:登陆到后台点击 【核心】 --》 【文件式…...
PHP高性能webman管理系统EasyAdmin8
介绍 EasyAdmin8-webman 在 EasyAdmin 的基础上使用 webman 最新版重构,PHP 最低版本要求不低于 8.0。基于webman和layui v2.9.x的快速开发的后台管理系统。 项目地址:http://easyadmin8.top 演示地址:http://webman.easyadmin8.top/admin …...