Mysql 入门篇之二进制安装

2023-11-11

Mysql 5.7 入门安装

环境说明:CentOS Linux release 7.6.1810 (Core) 4核4G

卸载自带组件

  • 卸载自带的mysql相关组件
rpm -qa | grep mysql
rpm -e --nodeps *mysql*
rpm -qa | grep mariadb
rpm -e --nodeps mariadbxxxx

image.png

下载二进制包

官方下载地址:https://dev.mysql.com/downloads/mysql/

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.43-linux-glibc2.12-x86_64.tar

image.png

安装

  1. 创建相关目录
mkdir -p /usr/local/mysql/app
mkdir -p /usr/local/mysql/data/3306
mkdir -p /var/log/mysql/3306

image.png

  1. 解压二进制包
tar -xf mysql-5.7.43-linux-glibc2.12-x86_64.tar
tar -xf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.43-linux-glibc2.12-x86_64 /usr/local/mysql/app
cd /usr/local/mysql/app
mv mysql-5.7.43-linux-glibc2.12-x86_64 mysql

image.png

  1. 增加环境变量
# vi ~/.bash_profile
PATH=$PATH:/usr/local/mysql/app/mysql/bin

image.png

  1. 配置用户组信息
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/log/mysql

image.png

  1. 配置启动文件
# /usr/local/mysql/data/3306/my.cnf
[mysql] 
default-character-set=utf8 
socket=/usr/local/mysql/data/3306/mysql.sock 
[mysqld] 
port = 3306 
socket=/usr/local/mysql/data/3306/mysql.sock 
basedir=/usr/local/mysql/app/mysql
datadir=/usr/local/mysql/data/3306/data
character-set-server=utf8
default-storage-engine=INNODB 
innodb_buffer_pool_size = 200M
max_allowed_packet=16M 
explicit_defaults_for_timestamp=1
log-output=FILE
general_log = 0 
general_log_file=/var/log/mysql/general.err
slow_query_log = ON
slow_query_log_file=/var/log/mysql/query.err
long_query_time=10
log-error=/var/log/mysql/error.err
  1. 初始化mysql
ln -sf /usr/local/mysql/data/3306/my.cnf /etc/my.cnf
/usr/local/mysql/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/app/mysql/ --datadir=/usr/local/mysql/data/3306/data/

image.png

  1. 配置服务启动脚本
# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/app/mysql/bin/mysqld --defaults-file=/usr/local/mysql/data/3306/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536
  1. 启动生效
systemctl daemon-reload
systemctl stop mysqld
systemctl start mysqld
systemctl enable mysqld

image.png

配置

  1. 修改 root 密码
# 初始密码可以通过 cat /var/log/mysql/error.err  | grep pass 获取
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin@mysql';
exit;

image.png

  1. 允许 root 远程登陆
mysql -u root -p
use mysql;
select host,user from user where user='root';
# 注意 root 是设置的密码
create USER 'root'@'%' IDENTIFIED BY 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
exit;
# 验证一下即可
mysql -uroot -proot -h 10.0.16.4

image.png

Mysql 8.0 入门安装

环境说明:CentOS Linux release 7.6.1810 (Core) 4核4G

卸载自带组件

  • 卸载自带的mysql相关组件
rpm -qa | grep mysql
rpm -e --nodeps *mysql*
rpm -qa | grep mariadb
rpm -e --nodeps mariadbxxxx

image.png

下载二进制包

官方下载地址:https://dev.mysql.com/downloads/mysql/

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.12-x86_64.tar

image.png

安装

  1. 解压
tar -xf mysql-8.0.34-linux-glibc2.12-x86_64.tar
rm -f mysql-8.0.34-linux-glibc2.12-x86_64.tar
xz -d mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz
tar -xf mysql-8.0.34-linux-glibc2.12-x86_64.tar

image.png

  1. 创建目录
mv mysql-8.0.34-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-8.0.34-linux-glibc2.12-x86_64 mysql
mkdir /var/lib/mysql
mkdir -p /usr/local/mysql/log
mkdir /usr/local/mysql/data

image.png

  1. 配置环境变量
# vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

image.png

  1. 创建用户组权限
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/lib/mysql

image.png

  1. 生成配置文件
# vi /etc/my.cnf
[mysql] 
default-character-set=utf8mb4 
socket=/var/lib/mysql/mysql.sock 
[mysqld] 
port = 3306 
socket=/var/lib/mysql/mysql.sock 
basedir=/usr/local/mysql 
character-set-server=utf8mb4 
default-storage-engine=INNODB
innodb_buffer_pool_size = 200M
max_allowed_packet=16M 
explicit_defaults_for_timestamp=1
log-output=FILE
general_log = 0 
general_log_file=/usr/local/mysql/log/general.err
slow_query_log = ON
slow_query_log_file=/usr/local/mysql/log/query.err
long_query_time=10
log-error=/usr/local/mysql/log/error.err
default-authentication-plugin=mysql_native_password
  1. 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  1. 配置启停文件
# vi /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536
  1. 启停服务
systemctl daemon-reload
systemctl stop mysqld 
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

image.png

配置

  1. 修改 root 密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin@mysql';
exit;
  1. 允许 root 远程登陆
mysql -u root -p
use mysql;
select host,user from user where user='root';
create USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'admin@mysql';
grant all privileges on *.* to 'root'@'%' with grant option;
exit;

image.png

  1. 远程登陆验证
mysql -uroot -p -h 10.0.16.4

image.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql 入门篇之二进制安装 的相关文章

  • MySql JOINS 的优点/缺点

    当我从多个表中选择数据时 我经常使用 JOINS 最近我开始使用另一种方式 但我不确定从长远来看会产生什么影响 例子 SELECT FROM table 1 LEFT JOIN table 2 ON table 1 column table
  • 使用 RMySQL 会干扰 RPostgreSQL

    我有一个 R 脚本 我想从 MySQL 数据库中提取一些数据 然后从 PostgreSQL 数据库中提取一些数据 但是 从 RMySQL 加载 MySQL 驱动程序会阻止我从以下位置加载 PostgreSQL 驱动程序 PostgreSQL
  • mysql中的按位移位

    如何在 MySQL 中进行按位移位 有没有具体的指令或者操作符 如果不是 如何最佳地模拟它 看一下按位运算符MySQL first http dev mysql com doc refman 5 0 en bit functions htm
  • MySQL - 查询合并具有相同 id 的行并保留该 id 的所有条目但作为一条记录

    我一直在处理本地保存在 wamp 服务器上的 mysql 数据库中的表 我正在使用 wamp 中的 phpmyadmin 区域来运行查询 我正在尝试获取数据来执行以下操作 谁能帮我制作一张包含许多植物记录的表格 植物可以有多个名称 表格将其
  • AttributeError:尝试在 python 中运行 sqlalchemy 来管理我的 SQL 数据库时,“Engine”对象没有属性“execute”

    我有以下代码行不断给我一个错误 即引擎对象没有对象执行 我认为我一切都对 但不知道接下来会发生什么 似乎其他人也遇到了这个问题 重新启动他们的笔记本电脑就可以了 我正在使用 Pycharm 并已重新启动但没有任何解决方案 任何帮助是极大的赞
  • 删除 mysql 数据库中超过 3 个月的行的作业

    我们使用 mysql 服务器作为集中式日志系统 我希望有一项工作来定期删除 清理超过 3 个月的表条目 做这个的最好方式是什么 提前致谢 hinling 您是否在字段中存储项目的创建日期 If so DELETE FROM myTable
  • MySQL - 从表中删除空值行

    我有一张桌子 user 有超过 60 列 其中一列的名称是 用户名 我想删除其中的行username字段为空或NULL 我怎样才能做到这一点 谢谢你 Try this DELETE FROM user WHERE username IS N
  • MySQL 获取时间优化

    o我有一个包含 200 万个寄存器的表 但它很快就会增长得更多 基本上 该表包含具有相应描述符的图像的兴趣点 当我尝试执行选择在空间上靠近查询点的点的查询时 总执行时间花费太长 更准确地说 持续时间 获取 0 484 秒 27 441 秒
  • PHP MySQL 查询带有 %s 和 %d

    SELECT COUNT AS test FROM s WHERE id d AND tmp mail lt gt 什么是 s and d for 这些是使用的格式符号 例如经过sprintf 例子 Output SELECT COUNT
  • mysql 在 sum() 函数上使用 concat,例如 concat(sum(col1),"%")

    我正在尝试合并多个查询 但其中一个查询使用 sum 当我尝试在此列上应用 concat 时 我得到不需要的 blob 结果 我如何在聚合列上应用 concat 和 union 我期待这个结果 SELECT row 1 col1 UNION
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • #1115 - 未知字符集:'utf8mb4'

    我的电脑上运行着一个本地网络服务器 用于本地开发 我现在正处于导出数据库并导入到我的托管 VPS 的阶段 导出然后导入时出现以下错误 1115 未知字符集 utf8mb4 有人能指出我正确的方向吗 该错误明确表明您没有utf8mb4您的阶段
  • 为什么我的浮点数大于 1 时在 MYSQL 中存储为 .9999?

    我将进程时间作为 float 4 4 存储在 MySQL 数据库中 start time microtime TRUE things happen in my script end time microtime TRUE process t
  • WHERE 条件基于 PK 的查询是否建议使用“LIMIT 1”?

    我正在查询 mySQL 数据库以检索 1 个特定行的数据 我使用表主键作为 WHERE 约束参数 E g SELECT name FROM users WHERE userid 4 userid 列是表的主键 在 mySQL 语句末尾使用
  • 在 MySQL 中插入时检查并防止相似字符串

    简要信息 我有3张桌子 Set id name SetItem set id item id position TempSet id 我有一个函数可以生成新的随机组合Item桌子 基本上 总是在成功生成之后 我在中创建一个新行Set表 获取
  • 显示一个表中的所有记录以及另一表中的匹配记录

    您好 我有一张下表 其中记录了活动和积分 Activites A ID Site ActivityValue ActivityName 1 site1 7 ActivityName1 2 site1 6 ActivityName2 2 si
  • 如何修改 Amazon RDS 实例的 my.ini 参数

    在启动 MySQL 5 5 RDS 实例时 Amazon 使用默认参数组来配置 my ini 参数 但控制台不允许我修改它们 我怎样才能实现这个目标 例如默认将存储引擎设置为MyISAM或设置字符集 此处记录了这一点 http aws am
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • MySQL 复制是双向的

    我们已经成功设置了 MySQL 文献中描述的主从复制 不过 我很好奇是否有人设置了双向复制 例如 如果安装了 Drupal 或 Wordpress 第一个 主 数据库服务器出现故障 第二个 从属 数据库服务器恢复正常 与此同时 用户不断进行
  • mysql 数据库正在复制,但在主服务器上创建的用户未在从服务器上复制

    在主从复制中 我们使用 mysql DB 在从服务器上复制少量数据库 我在主服务器上创建了一个用户 不幸的是它没有在从服务器上复制 Replicate Do DB app1 app2 mysql 用户创建命令 GRANT SELECT on

随机推荐

  • C++ traits编程方法

    转自 http s99f blog 163 com blog static 35118365200903111941380 侯捷老师在 STL 源码剖析 说 traits编程方法是一把开启STL源代码大门的钥匙 其重要性也就不必再说了 既然
  • Eclipse如何给main方法传值

    import java util Arrays 这是一个测试类 用来研究main方法的传值问题 author HHB public class Test 这是类的主方法 可以用来接受用户的输入 并将输入数据保存到一个String类型的数组里
  • gitlab部署及整合Jenkins持续构建(四)sonarqube9.9安装和使用(一步一坑)

    文章目录 postgresql13 0安装 1 配置postgresql数据库 2 进入postgresql创建数据库 代码质量管理平台 sonarqube安装 1 前置依赖 下载 2 安装unzip并解压sonarqube并移动到 usr
  • 基础数据类型的取值范围计算方法

    一 以c 为例 1 int 整数类型 4个字节 1KB 1000B 1B就是一个字节 一个字节占8位 所以4个字节就是4 8 32位 因为在计算机的二进制中有一个符号位 32 1 31 剩下31个位置存放数字 计算 每个位置只能是0 1这两
  • C++ 泛型编程(二) 函数模版

    前文回顾 C 泛型编程 一 基本概念 函数模版 模版定义 定义 模版定义以关键字 template 开始 后跟尖括号包围的模版参数列表 用关键字 typename 来定义模版参数类型 template
  • Ubuntu下,python3下离线安装Supervisor

    说明 由于我的是生产环境 没有外网 所以只能通过安装包来下载 有外网的比较简单 可以直接通过apt get即可 或者pip pip3这些直接命令安装即可 一 安装步骤 1 1 先在windows桌面新建一个sss目录 用于存储安装包 方便统
  • UserHandle.ALL、UserHandle.CURRENT、UserHandle.CURRENT_OR_SELF、UserHandle.OWNER的定义与区别

    UserHandle ALL UserHandle CURRENT UserHandle CURRENT OR SELF UserHandle OWNER的定义与区别 UserHandle ALL 设备上所有用户均可接收到广播 UserHa
  • 边缘计算:提升数据处理效率的新时代

    随着物联网 人工智能等技术的快速发展 边缘计算已经成为一个备受关注的话题 但是 很多人对于边缘计算的概念并不是很清晰 本文将重点解释 轻松读懂边缘计算 中的重点词汇或短语 帮助读者更好地理解边缘计算 一 边缘计算 边缘计算是一种新型计算模型
  • 使用ffmpeg视频切片并加密和视频AES-128加密后播放

    创建加密文件 想达到的目的 将一个mp4视频文件切割为多个ts片段 并在切割过程中对每一个片段使用AES 128 加密 最后生成一个m3u8的视频索引文件 电脑环境mac 已经安装了最新的ffmpeg 4 0 2版本 如果要加密 首先准备好
  • 电脑回收站已经清空的文件怎么还原

    互联网时代 我们很难去想象我们的生活没有了电脑没有了智能手机的日子 但是 作为电子设备 在方便我们的同时 也会给我们带来一些小小的烦恼 最常见的使用手机和电脑的弊端就是 被删除的文件 如果回收站已经清空了 那么你的文件就找不会来了 特别是有
  • Java防止重复数据多次调用接口导致数据库插入重复记录

    Java防止重复数据多次调用接口导致数据库插入重复记录 一 我们可以对数据库表设置主键 字段唯一约束来防止重复数据插入到数据库 在数据库层通过唯一键的方式来限制重复提交的记录 对于重复提交的内容自动被过滤 二 在前端控制 比如按钮置灰等 三
  • MySQL 5.7 版本登录报 error 1524: plugin ... in not loaded

    昨天看到论坛有人提问 error 1524 plugin in not loaded 问题相关信息 1 安装mysql 5 7 16 2 修改my ini为 For advice on how to change settings plea
  • 基于SpringBoot的自习室预约管理系统

    项目背景 在网络高速发展的时代 众多的软件被开发出来 给学生带来了很大的选择余地 而且人们越来越追求更个性的需求 在这种时代背景下 学院只能以学生为导向 所以自习室预订系统是必须的 系统采用了Java技术 将所有业务模块采用以浏览器交互的模
  • HAL库学习笔记-11 I2C

    目录 前言 一 I2C协议简介 I2C物理层 I2C协议层 1 基本读写过程 2 通讯的起始和停止信号 3 数据有效性 4 地址及数据方向 5 应答信号 二 STM32的I2C特性及架构 STM32 I2C架构解析 1 逻辑引脚 2 时钟控
  • Linux系统管理(三)系统中的日志管理及优化

    1 实验环境 两台能够通信的主机 2 journal日志查看工具的使用 企业7之前的系统没有 日志的收集工具 systemd journald service 查看路径 run log journal machine id system j
  • IAR 编译优化 #pragma optimize

    在IAR工具菜单栏中 点击 help gt Serach 搜索optimize 说明 单独指定的优化等级优先级高于编译器统一指定的优化 1 格式 pragma optimize goal level vectorize disable Pa
  • Python零基础入门--手动安装pip、selenium、lib包

    一 python安装教程 1 python exe安装踩坑点 运行命令 提示 python 不是内部或外部命令 1 1 注意勾选path 不然要自己在系统path中的添加变量 操作步骤参考如下 1 2 自定义安装路径 本文python ex
  • STL标准模板库 list的使用

    ZZ 李木空间 www limou net list的使用 在使用list必须包括头文件 include
  • WSL结合Windows Terminal的优化

    windows下面使用Linux命令 对于如今的工作人员已经不再是遥不可及的梦想 这得益于WSL Windows subsystem for Linux 的出现 不仅如此 windows系统还推出了windows terminal 对于终端
  • Mysql 入门篇之二进制安装

    文章目录 Mysql 5 7 入门安装 卸载自带组件 下载二进制包 安装 配置 Mysql 8 0 入门安装 卸载自带组件 下载二进制包 安装 配置 Mysql 5 7 入门安装 环境说明 CentOS Linux release 7 6