mysql单机安装

news2025/1/6 5:05:11

准备工作

检测项

检测命令

标配值

服务器内存

free -m

32G

硬盘

df -h

1T

seLinux

getenforce

Disabled(disabled指关闭,Enforcing指开启

文件描述符大小

ulimit -n

65535

其他优化

Other

Other

清理环境

卸载服务器自带mysql,清理环境,由于服务器系统可能自带部分mysql的程序,因此安装的时候会干扰新安装的程序,因此需要进行环境清理。

注意:卸载只针对新服务器,如果客户的服务器,先确认客户是否又mysql的库在上面,不要把客户的库给干掉了

执行rpm -qa|grep -i mysql

yum list installed mysql*

可以看到已有mysql5.7版,卸载它

注意:下面的命令,别傻傻的直接贴命令去执行,看清楚后面的版本号,跟前面查出来的版本号。。。

rpm -ev --nodeps mysql-community-release-el7-5.noarch
rpm -ev --nodeps mysql-community-common-5.7.21-1.e17.x86_64
rpm -ev --nodeps mysql-community-client-5.7.21-1.e17.x86_64
rpm -ev --nodeps mysql-community-libs-5.7.21-1.e17.x86_64
rpm -ev --nodeps community-server-5.7.21-1.e17.x86_64

执行

find / -name mysql

 

上面查出来的目录,用rm -rf删除

注意:先在记事本里面打好rm的命令再去执行,别直接贴,删错东西就凉凉

下面不给你们贴命令,防止你们直接贴,自己手打防错

最后,看看/etc/my.cnf这个文件有没又,如果又得话删掉。

文件处理

创建mysql目录

    mkdir -p /home/data/atsdb    //新建文件夹,按路径
    mkdir -p /home/data/tool        //新建文件夹,按路径

最终创建完后结构如下:

 

上传mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz到服务器得/opt/data/tool目录

进入/opt/data/tool目录

cd /opt/data/tool //进入指定路径

查看文件是否已上传

ls -l //查看目录中的文件

解压mysql安装包,下面命令解压完后原文件会删掉,我们只用tar的就行

xz -d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz //解压msql的xz文件并删除原文件

解压tar文件,此命令会在目录下生成一个同名的文件夹,里面就是mysql的主程序

tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar //解压mysql的tar文件

移动文件夹到/opt/data目录并改名mysql

mv mysql-8.0.16-linux-glibc2.12-x86_64 /home/data/mysql //移动解压出来的文件夹并改名

最终目录结构如下图

 

权限处理

创建mysql用户组与用户,并分配目录给mysql用户

groupadd mysql //创建用户组

useradd -g mysql mysql //创建新用户mysql,并分配给mysql用户在,前面一个是用户组,后面是用户

改变/opt/data目录权限为mysql用户

chown -R mysql.mysql /home/data/ //将/opt/data/目录及子目录的权限用户组都改为mysql用户

最终结果如下图示

 

mysql配置

my.cnf文件需要放到/etc/目录下

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/opt/data/mysql/mysql.sock
[client]
# # 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/opt/data/mysql/mysql.sock
[mysqld]
# 设置3306端口
port=3306
# 设置可连接IP:0.0.0.0是不限制IP
bind-address=0.0.0.0
# # 允许最大连接数
max_connections=3600
# # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# # 服务端使用的字符集默认为UTF8
character-set-server=utf8
# # 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# # 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
symbolic-links=0
lower_case_table_names=1 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-name-resolve 
#skip-grant-tables
#设置数据库事务隔离级别
transaction_isolation=READ-COMMITTED
#设置最大长度
group_concat_max_len=102400
basedir=/opt/data/mysql
datadir=/opt/data/atsdb
socket=/opt/data/mysql/mysql.sock
log-error=/opt/data/mysql/mysqld.log
pid-file=/opt/data/mysql/mysqld.pid

mysql初始化

进入到mysql的bin目录,执行初始化语句,注意,此处脚本中basedir与datadir要与my.cnf文件中的保持一致,我们采用的是数据文件与运行文件分开方式部署的,所以路径会单独指定。

cd /home/data/mysql/bin

./mysqld –initialize –user=mysql –basedir=/home/data/mysql --datadir=/home/data/atsdb

关键:

打开/opt/data/mysql/mysqld.log文件,里面又初始化后的数据库root密码,注意这个路径是之前配置中的路径

 

将新的mysql服务复制到init.d目录下,如果提示覆盖,输入yes

cp /opt/data/mysql/support-files/mysql.server /etc/init.d/mysqld

 

分配执行权限,并加入到开机启动中

chmod +x /etc/init.d/mysqld //添加执行权限

chkconfig --add mysqld //添加到服务启动项

chkconfig  --list mysqld //查看服务启动列表

 

配置环境变量

修改全局环境变量,添加mysql环境变量,在/etc/profile最后一行加上mysql的环境变量

vim /etc/profile //全局环境变量文件

文件的最下面添加

##########################mysql-path#################

export PATH=$PATH:/opt/data/mysql/bin:/opt/data/mysql/lib

export PATH

保存并退出,然后生效环境变量文件

source /etc/profile

mysql状态

以上操作完成后启动mysql,

service mysql start //启动命令

service mysql stop //停止命令

service mysql status //查看状态命令

service mysql restart //重启mysql

登陆改密

登陆命令

mysql -uroot -p //回车后输入数据库密码,也就是上面提过的密码

登陆成功后修改数据库密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fingard@1@#';

flush privileges; //刷新数据

此处密码自行设定,推荐数字大小写符号的租户,例如:Fingard@1@#

默认mysql用户是不允许远程访问的,需要对用户进行修改,通过下面语句查询

use mysql; //要访问那个库都先use 库名

select user,host from mysql.user;

host中localhost说明只允许本地访问

 

修改root用户允许远程访问

update user set host='%' where user='root';

flush privileges;

再次查看允许访问,发现host已经修改,然后用远程连试试。

 

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

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

相关文章

佩戴比较舒适的蓝牙耳机有哪些?长久佩戴舒适的蓝牙耳机推荐

​听歌、刷剧、游戏,运动、吃饭、睡觉等,要说现在年轻人除了离不开手机之外,还有就是蓝牙耳机了!当然,随着蓝牙耳机的快速发展,各种各样的蓝牙耳机都有,导致很多人不知道耳机怎么选了&#xff0…

四大因素解析:常规阻抗控制为什么只能是10%?

随着高速信号传输,对高速PCB设计提出了更高的要求,阻抗控制是高速PCB设计常规设计,PCB加工十几道工序会存在加工误差,当前常规板厂阻抗控制都是在10%的误差。理论上,这个数值是越小越好,为什么是10%&#x…

Git进阶系列 | 7. Git中的Cherry-pick提交

Git是最流行的代码版本控制系统,这一系列文章介绍了一些Git的高阶使用方式,从而帮助我们可以更好的利用Git的能力。本系列一共8篇文章,这是第7篇。原文:Cherry-Picking Commits in Git[1] 在本系列的第5部分中,讨论了r…

Facebook如何与品牌合作,提升用户体验?

Facebook是全球最大的社交媒体平台之一,每天有数亿用户在上面发布内容、互动交流。对于品牌来说,与Facebook合作可以帮助它们扩大影响力、吸引更多潜在客户。 但是,与Facebook合作不仅仅是在平台上发布广告,还需要更深入的合作来…

Ramnit病毒分析

概述 Ramnit病毒是一个相对古老的病毒,使用会感染系统内的exe和html文件,通过文件分发和U盘传播。 样本的基本信息 Verified: Unsigned Link date: 19:02 2008/2/12 Company: SOFTWIN S.R.L. Description: BitDefender Management Console MachineTyp…

王道操作系统学习笔记(3)——内存管理

前言 本文介绍了操作系统中的内存管理,文章中的内容来自B站王道考研操作系统课程,想要完整学习的可以到B站官方看完整版。 3.1.1:内存基本知识(指令工作原理、编译、链接、逻辑地址到物理地址的转换) 内存可存放数据…

【yocto1】利用yocto工具构建嵌入式Linux系统

文章目录 1.获取Yocto软件源码2.初始化Yocto构建目录2.1 imx-setup-release.sh脚本运行2.2 imx-setup-release.sh脚本解析2.2.1 setup-environment脚本解析 3.构建嵌入式Linux系统3.1 BitBake构建系统3.2 BitBake构建系统过程简要解析3.2.1 解析Metadata基本配置Metadatarecipe…

HTML+CSS面试题总结(附答案+视频讲解)

HTMLCSS面试题总结如下 红色标注为常见重点 对应的视频讲解在B站:可以点击免费观看 2023前端高频面试题详解/面试必刷HTMLCSS前端面试题_哔哩哔哩_bilibili 目录 1. 块元素和行内元素有哪些 2. css3选择器 (了解) 3. css优先级 4. 对we…

java 艺考报名系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 JSP 艺考报名系统 是一套完善的系统源码,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,以及相应配套的设计文档,系统主要采用B/S模式开发。 研究的基本内容是基于Web的艺考报名系统&…

mdk下栈地址相关的知识梳理

mdk中,堆栈地址范围不像在gcc工程中那么容易看出来。过程被mdk隐藏了,单纯从代码层面不好看出来。但是基本的流程是这样的:先确定代码其他部分使用RAM的情况,然后紧跟着已使用的RAM地址,在剩下的RAM地址中分配Stack_Si…

电商数据分析方案和BI强强联合,一站式做分析

搭建一个电商大数据分析平台需要哪些条件?总的来说需要一套满足电商数据分析需求的方案,一个能够提供强大数据计算分析功能和数据可视化图表的平台,比如电商数据分析方案和奥威BI软件这样的组合。 电商数据分析方案BI软件,一站式…

提前出击:如何在故障降临之前解决设备问题?

在现代工业生产中,设备故障和停机时间对企业来说是极具挑战性和成本高昂的问题。为了解决这一问题,预测性维护作为一种先进的维护策略应运而生。本文将探讨预测性维护的概念以及如何通过它在设备故障之前解决问题。 预测性维护是一种基于设备运行数据和分…

111.实战网页建立移动导航

本节课我们建立一个移动导航&#xff0c;如下图所示 首先添加这个button <button class"btn-mobile-nav"><ion-icon class"icon-mobile-nav" name"menu-outline"></ion-icon><ion-icon class"icon-mobile-nav"…

SpringBoot 使用 EmbeddedDatabaseBuilder 进行数据库集成测试

SpringBoot 使用 EmbeddedDatabaseBuilder 进行数据库集成测试 在 SpringBoot 应用程序中&#xff0c;我们可以使用 EmbeddedDatabaseBuilder 进行数据库集成测试。EmbeddedDatabaseBuilder 是一个测试工具&#xff0c;可以让我们在内存中启动嵌入式数据库&#xff0c;并进行测…

PHY芯片的使用(二)使用Vivado SDK调试网络

在使用ZYNQ或者FMQL的以太网时都需要在Vivado BD中勾选Enet0/1,最好也勾选上UART0/1。 如果就使用这两个外设就可是直接生成bit然后导出硬件启动SDK了。 SDK建立工程中有以太网相关的工程&#xff0c;选用最简单的即可如下图。使用这个工程除了选Enet还要选用串口&#xff0c;…

【C】C语言实现三子棋小游戏

这里写目录标题 游戏的整体框架游戏函数的具体实现&#xff08;这里的函数声明都放到game.h中&#xff0c;函数的实现在game.c中&#xff09;初始化棋盘函数玩家下棋电脑下棋判断输赢判断棋盘是否满了 游戏的逻辑及game()的实现game.hgame.ctest.c 今天带大家用C语言来实现我们…

C语言进阶教程(再论指针和数组3)

文章目录 前言一、a和&a的区别二、数组作为函数参数总结 前言 本篇文章继续讲解指针和数组。 一、a和&a的区别 1.数组名&#xff08;例如 a&#xff09;表示整个数组。当使用数组名时&#xff0c;它会被解释为对整个数组的引用。例如&#xff0c;可以使用 a[0] 来访…

Cadence Allegro PCB设计88问解析(二十九) 之 Allegro中泪滴的使用

一个学习信号完整性仿真的layout工程师 通常添加泪滴的目的是&#xff1a;在一些接插器件或者大焊盘的时候&#xff0c;增强信号线与焊盘之间的连接强度&#xff0c;提高可靠性&#xff1b;二是为了保持高速信号的阻抗连续性&#xff0c;防止阻抗突变等&#xff0c;造成信号完整…

2023年杭州/广州/深圳NPDP产品经理认证线上班报名

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

【数据存储概念】大端存储小端存储

这里写目录标题 大小端介绍大端小端存储的特征如何判断大小端 大小端介绍 本文采用整形来举列子说明大端存储和小端存储的区别及原理 特别注意&#xff1a;大小端模式是指字节序的大小端模式&#xff0c;当一个数据的所占的内存大于一个字节时&#xff0c;就会按照大端或小端…