linux源码安装mysql8.0的小白教程

news2024/9/23 7:27:02

1.下载8.x版本的mysql

MySQL :: Download MySQL Community Server (Archived Versions)

2.安装linux

我安装的是Rocky Linux8.6

3.设置ip地址,方便远程连接

使用nmcli或者nmtui设置或修改ip地址

4.使用远程连接工具MobaXterm操作:

(1)将mysql8版本的压缩包上传到mybaxterm

(2)解压缩

tar -Jxvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

(3)移动压缩后的目录到/usr/local/,并改名为mysql

注意:修改权限mysql:mysql

mv mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/mysql
useradd mysql -s /sbin/nologin
chown -R mysql.mysql /usr/local/mysql

(4)cd /usr/local/mysql

创建配置文件/etc/my.cnf

[root@localhost bin]# vim /etc/my.cnf
[mysqld]
log-error=/usr/local/mysql/log/mysql.err
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
character-set-server=UTF8MB4

创建必要的文件目录:

mkdir /usr/local/mysql/{binlog,data,log,tmpdir,conf} -p

利用配置文件初始化mysql

[root@localhost mysql]# bin/mysqld \
--defaults-file=/etc/my.cnf \
--user=mysql \
--initialize

初始化数据库,它会给出一个临时密码,记住它,后面要用,如果找不到了,需要走忘记密码流程

(5)启动mysql

[root@localhost mysql]# support-files/mysql.server start

如果是开启中的,启动需要重启mysql

[root@localhost mysql]# support-files/mysql.server restart

(6)处理报错

当执行bin/mysql -u root -p命令时,出现以下报错:

mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory


解决办法:

[root@localhost mysql]# find  / -name 'libtinfo.*'
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.1

[root@localhost mysql]# ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

(7)如果想要service控制它的开启和关闭

[root@localhost mysql]# ls
bin  data  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost mysql]# cp -a ./support-files/mysql.server /etc/init.d/mysql
#chkconfig --add mysql 这条命令的作用是将 mysql 服务添加到系统的服务管理列表中,使得系统能够通过 chkconfig 工具来管理该服务的启动级别。
[root@localhost mysql]# chkconfig --add mysql
[root@localhost mysql]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@localhost mysql]# service mysql status
 SUCCESS! MySQL running (26540)
[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin

(8)使用临时密码登录验证mysql


[root@localhost mysql]# mysql -uroot -p"is/BIErGB051"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.25

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

(9)修改密码

mysql> alter user root@"localhost" identified by "123456"

(10)exit退出,使用新密码登录

[root@localhost mysql]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.25 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

(11)使用systemctl控制mysql

• systemd一个更高效的系统&服务管理器

– 开机服务并行启动,各系统服务间的精确依赖

– 服务目录:/usr/lib/systemd/system/

– 主要管理工具:systemctl

systemd方式:

注意: 为了和yum下载的情况一致,设置文件名称为mysqld.service,使用systemctl命令可以省略".service后缀"

systemctl start mysqld #启动mysqld

systemctl stop mysqld #停止mysqld

systemd管理方式思路:

用户--systemctl--》systemd--服务启动配置文件--》mysqld启动

•管理员服务文件默认路径

–/usr/lib/systemd/system/

•重新加载服务启动配置文件(每次修改mysqld.service文件都要执行这个命令一次)

systemctl daemon-reload

再启动mysqld:

systemctl start mysqld

[root@localhost system]# cd   /usr/lib/systemd/system   
[root@localhost system]# vim mysqld.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=forking

PIDFile=/usr/local/mysql/data/mysql1.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop

[Install]
WantedBy=multi-user.target


[root@localhost system]# systemctl daemon-reload

[root@localhost system]# systemctl stop mysqld
[root@localhost system]# systemctl status mysqld
[root@localhost system]# systemctl start mysqld

5.使用shell脚本安装,mysql并启动:

为了更好的效果,新建一个Linux虚拟机处理:

(1) 设置hostname,方便查看pid文件(因为pid的文件名称与hostname有关):

就设置为mysql1

(2) 准备/etc/my.cnf文件(为了方便使用之前的同名文件也可)

[mysqld]
log-error=/usr/local/mysql/log/mysql.err
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
character-set-server=UTF8MB4

(3)shell脚本文件install_mysql.sh

#!/bin/bash

if [ -d "/usr/local/mysql" ];then
	echo "/usr/local/mysql文件夹已经存在,请确认是否安装了mysql"
	exit
fi
echo "正在解压压缩包"
tar -Jxf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/mysql

#创建一些必要的文件夹
mkdir /usr/local/mysql/{binlog,data,log,tmpdir,conf} -p

#检查mysql进程
mysql_pid=`ps -ef | grep mysqld | wc -l`
if [ $mysql_pid -eq 1 ];then
	echo "mysql进程没有运行"
else
	echo "有mysql进程运行,请检查"
fi

#检查mysql用户
mysql_user=`cat /etc/passwd | grep -w mysql | wc -l`
if [ $mysql_user -eq 1 ];then
	echo "mysql用户已经存在"
else
	echo "mysql用户不存在,开始添加mysql用户"
	useradd mysql -s /sbin/nologin
	echo "添加mysql用户成功"
fi

#处理libtinfo.so.5报错
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

#修改目录权限
chown -R mysql.mysql /usr/local/mysql

#增加配置文件
if [ -f "/etc/my.cnf" ];then
	echo "/etc/my.cnf文件存在"
else
	echo "/etc/my.cnf文件不存在"
	exit
fi

#初始化
echo "开始初始化"
/usr/local/mysql/bin/mysqld \
--defaults-file=/etc/my.cnf \
--user=mysql \
--initialize
#判断初始化是否成功
mysql_init=`cat /usr/local/mysql/log/mysql.err | grep -i "root@localhost:" | wc -l`
if [ $mysql_init -eq 1 ];then
	echo "mysql初始化成功"
else
	echo "mysql初始化失败"
	exit
fi

#获取临时密码
temp_pwd=$(grep 'temporary password' /usr/local/mysql/log/mysql.err)
pwd=${temp_pwd##* }
echo "临时密码是: ${pwd}"

#配置启动脚本
if [ ! -f "/etc/init.d/mysql.server" ];then
	cp /usr/local/mysql/support-files/mysql.server /etc/init.d/ -rf
	chmod 700 /etc/init.d/mysql.server
fi

#启动mysql
/etc/init.d/mysql.server start

#增加家环境变量
mysql_path=`grep 'export PATH=$PATH:/usr/local/mysql/bin' /etc/profile | wc -l`
if [ $mysql_path -eq 0 ];then
	echo "export PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
	source /etc/profile
fi

#通过临时密码登录mysql,并修改密码
mysql -uroot -p${pwd} --connect-expired-password -e 'alter user root@"localhost" identified by "123456"'
echo "mysql8.0.25安装完成!"

(4)给脚本添加执行权限

chomod +x install_mysql.sh

(5)执行脚本

./install_mysql.sh

注意:如果要使用service命令处理mysql,需要再将/etc/init.d/mysql.server改为/etc/init.d/mysql,如下图所示,也可以直接到脚本文件相应的位置修改代码!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1921297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电商选品干货】差异化卖点要这样打造,80%商家却做不到

今天就给大家说说,如何去挖掘产品的差异化卖点?我们要找差异化卖点,就是因为我们的产品转化率不足,通常有下面几点原因: 1、产品差异化卖点不足,商家占比30% 2、流量和产品卖点不匹配,商家占比…

U-2 Net原理+代码实战教程

目录 一、显著性目标检测1.1 核心目标1.2 技术方法 二、U2-Net2.1 双层嵌套U结构2.2 残差U块(RSU)2.3 网络训练和监督 三、代码实战3.1 克隆仓库3.2 下载预训练模型3.3 安装依赖3.4 运行模型显著性目标检测:训练模型: 一、显著性目…

美团到家平台业务探索

背景 到家业务发展已经近10年,目前最为火热的应该有美团到家、抖音到家等,这种极具挑战性的业务,值得学习和思考。 既然是服务平台化,那一定是兼容了多种业务以及多种模式。 挑战 订单、骑手规模大,供需匹配过程的…

UDS协议——Authentication(29服务)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的29服务Authentication (29 16) service。此服务是在ISO 14229-2020版本中首次增加的为应对网联汽车日益增加的安全风险的新服务。为Client和Server之间的身份认证提供一种方法,以便对意图…

常用3D建模软件有哪些?如何实现3D模型在线预览?

3D建模是指使用计算机软件或其他工具创建三维物体模型的过程。3D建模大概可分为NURBS和多边形网格两类。NURBS对要求精细、弹性与复杂的模型有较好的应用,适合量化生产用途;多边形网格建模则靠拉面方式,适合做效果图与复杂场景动画。建模方法…

论文AIGC率超标,专业去痕工具是快速整改的钥匙,降低学术风险。

在学术领域,独创性是每位研究者梦寐以求的桂冠。随着AI技术的突飞猛进,AI辅助写作软件已成为学术工作者的得力伙伴。尽管如此,这些工具在提供帮助的同时,也引发了一个问题——如何有效减少论文的AI率。AI率,也就是由人…

ubuntu重装系统后,安装cuda,cudnn

一、 先安装驱动,如果驱动安装不成功,会影响桌面,再重装系统还来得及,尝试了很多方法,还是用系统安装最靠谱: 首先进入Ubuntu搜索栏目,找到软件更新器的一个图标,点开之后是这样的。…

Datawhale 2024 年 AI 夏令营第二期——基于术语词典干预的机器翻译挑战赛

#AI夏令营 #Datawhale #夏令营 1.赛事简介 目前神经机器翻译技术已经取得了很大的突破,但在特定领域或行业中,由于机器翻译难以保证术语的一致性,导致翻译效果还不够理想。对于术语名词、人名地名等机器翻译不准确的结果,可以通…

这本书太好了!150页就能让你上手大模型应用开发(免费分享PDF)

如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT 应该会当之无愧入选。仅仅发布 5 天,ChatGPT 就吸引了 100 万用户——当然,数据不是关键,关键是其背后的技术开启了新的 AI 狂潮,成为技术变革的点火…

浏览器书签助手mTab

本文软件由网友 P家单推人 推荐 什么是 mTab ? mTab 是免费无广告的浏览器书签助手,多端同步、美观易用的在线导航和书签工具,可以用 mTab 书签收藏并自定义常用网站的图标样式,帮助您高效管理网页和应用,提升在线体验。 官方提供…

解决Abaqus2023界面模糊的问题

有没有友友Abaqus成功安装后,打开页面很模糊的。像这个样子,看得时间长了很影响观感。 同样的安装包安装,同样的安装方法在其他电脑上安装后打开是清晰的。这与电脑的屏幕分辨率是有关系的。 下面给出解决办法: 找到你电脑里Ab…

【POSIX信号量】基于环形队列的生产消费模型

文章目录 POSIX信号量初始化信号量销毁信号量等待信号量(P操作)发送信号量(V操作) 基于环形队列的生产消费模型设计思路代码实现 POSIX信号量 POSIX和System V一样,都是unix下的一套管理方法,下面介绍POSIX标准下的信号量。 POSIX…

亚马逊云科技 Amazon Bedrock 构建 AI 应用体验

前言 大模型应用发展迅速,部署一套AI应用的需求也越来越多,从头部署花费时间太长,然而亚马逊科技全托管式生成式 AI 服务 Amazon Bedrock,Amazon Bedrock 简化了从基础模型到生成式AI应用构建的复杂流程,为客户铺设了…

跳水板00

题目链接 跳水板 题目描述 注意点 返回的长度需要从小到大排列必须正好使用k块木板0 < shorter < longer0 < k < 100000 解答思路 用k块两种不同的木板&#xff0c;组合数为k 1&#xff0c;最小的组合为全部使用shorter&#xff0c;每多一块longer&#xff0…

实验04 白盒测试

知识点 白盒测试概述 白盒测试基于程序内部逻辑结构进行测试&#xff0c;关注程序语句、路径、变量状态等。单元测试主要采用白盒测试方法&#xff0c;辅以黑盒测试方法。程序内部结构示意图 白盒测试关注的对象 源代码 检验代码规范性&#xff0c;查找逻辑、内存管理、数…

Jupyter + Pyspark + Yarn 交互式大数据分析

背景: ​ 小批量数据可以使用pandas 进行分析&#xff0c;方便灵活。但大批量&#xff08;千万级别&#xff09;数据&#xff0c;使用pandas分析处理&#xff0c;速度很慢&#xff0c;且需一次性读取全部数据&#xff0c;内存可能溢出。 ​ 此时使用spark分布式分析处理速度很…

记VMware网络适配器里的自定义特定虚拟网络一直加载问题解决办法

1、问题描述 VMware网络适配器里的自定义特定虚拟网络一直加载问题&#xff1a; 在自定义&#xff1a;特定虚拟网络选择的时候 没有上图所示的三个选择&#xff0c;而是正在加载虚拟网络.... 如下图所示&#xff1a; 2、解决办法 2.1、原因分析&#xff1a; 是安装时候出现…

【Java】Idea运行JDK1.8,Build时中文内容GBK UTF-8编码报错一堆方块码

问题描述 在Windows系统本地运行一个JDK1.8的项目时&#xff0c;包管理用的Gradle&#xff0c;一就编码报错&#xff08;所有的中文内容&#xff0c;包括中文注释、中文的String字面量&#xff09;&#xff0c;但程序还是正常运行。具体如下&#xff1a; 解决 1. Idea更改编…

springboot+vue系统开发

链接: https://pan.baidu.com/s/1P1YpHAx9QOBPxjFZ9SAbig 提取码: u6f1

精选力扣,牛客链表面试题

&#x1f48e; 欢迎各位大佬互三&#xff1a;我的主页 1. 反转链表 206.反转链表 思考&#xff1a;如果不开辟额外的空间&#xff0c;只在原来的链表上进行修改的话&#xff0c;该用什么方法呢 只需要从第二个元素开始&#xff0c;依次进行头插就可以了 接着修改一下引用就可…