Linux中安装MySQL8版本,安装MySQL步骤,MySQL8离线安装

Linux中安装MySQL8版本的步骤如下:

1.检查下libaio.so.1的位置
[root@tdx ]# whereis libaio.so.1
libaio.so: /usr/lib64/libaio.so.1

如果没有找到该文件
(1).在线安装
[root@tdx ]# yum install -y libaio

(2).离线安装:
上传之后执行命令安装:
[root@tdx /]# rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

2.清空系统中的原有mariadb的配置文件(/etc/my.cnf)
[root@tdx /]# rm -rf /etc/my.cnf

3.准备mysql安装包
(1).切换目录
[root@tdx /]# cd /tdx/

(2).上传文件到此目录
mysql8.0.16-linux-glibc2.12-x86_64.tar.gz

(3).解压
[root@tdx /]# tar -zxvf mysql8.0.33-linux-glibc2.12-x86_64.tar.gz

(4).重命名
[root@tdx /]# mv mysql8.0.33-linux-glibc2.12-x86_64 mysql8.0.33

(5).切换目录
[root@tdx /]# cd mysql

(6).新建目录
[root@mysql]# mkdir data
[root@mysql]# mkdir log
[root@mysql]# mkdir pid
[root@mysql]# mkdir tmp

(7).新建配置文件
[root@mysql]# touch my.cnf

修改配置文件增加内容
[root@mysql]# vi my.cnf
增加内容

[mysqld]
port = 3306
basedir =/usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysqld.log
pid-file = /usr/local/mysql/pid/mysqld.pid
socket = /usr/local/mysql/tmp/mysql.sock
character-set-server=utf8
default-storage-engine=Innodb
max_connections=500
lower_case_table_names = 1
interactive_timeout=288000
wait_timeout=288000
net_read_timeout=900
net_write_timeout=900
max_allowed_packet=1073741824
log_bin_trust_function_creators=1
innodb_flush_log_at_trx_commit = 2
sync_binlog = 2000

key_buffer_size=8G
read_buffer_size=64K
sort_buffer_size=256K
myisam_max_sort_file_size=100G

innodb_buffer_pool_size=10G
innodb-buffer-pool-instances=8
innodb_read_io_threads=8
innodb_write_io_threads=8
innodb-file-per-table=true
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

4.创建新用户并授权
[root@tdx /]# adduser mysql
[root@tdx /]# chown -R mysql:mysql /usr/local/mysql

5.初始化数据库(可以实现数据库的初始化,而且会产生一个随机密码)
[root@mysql8.0.33 /]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --lower_case_table_names=1
选项说明:
–initialize 初始化(真正开始干活)
–user=mysql 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者
–basedir=xxx mysql其安装目录,非常重要
–lower_case_table_names=1 不区分大小写,初始化不指定,必须重装才能解决,非常重要

6.启动MySQL数据库
[root@mysql]# cp support-files/mysql.server /etc/init.d/mysql

注意:默认情况下,GBLIC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量
[root@mysql]# vim /etc/init.d/mysql
46行 basedir=/usr/local/mysql
47行 datadir=/usr/local/mysql/data

7.启动MySQL数据库(不能使用systemctl,只能使用service)
[root@mysql]# service mysql start
Starting MySQL.2023-06-25T04:58:08.333370Z mysqld_safe error: log-error set to ‘/usr/local/mysql/log/mysqld.log’, however file don’t exists. Create writable for user ‘mysql’.
ERROR! The server quit without updating PID file (/usr/local/mysql/pid/mysqld.pid).

[root@mysql]# touch /usr/local/mysql/log/mysqld.log
[root@mysql]# chown -R mysql:mysql /usr/local/mysql/log/mysqld.log

如果启动报错:
my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.
Starting MySQL.my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.
my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
这个文件:'/usr/local/mysql/my.cnf’权限给的是 777,需要改成644,再次重新启动即可。

再次启动: [root@mysql]# service mysql start
Starting MySQL… SUCCESS!
8.登录数据库
[root@mysql]# ./bin/mysql -uroot -p -S /usr/local/mysql/tmp/mysql.sock

9.修改root密码
mysql> alter user root@localhost identified by ‘Datasw@2023’;

10.创建用户
mysql> create user test@‘%’;
mysql> alter user test@‘%’ identified with mysql_native_password by ‘Datasw@2023’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘test’@‘%’ WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit;

10.给mysql启动命令增加一个软连接,以便任意目录登录
[root@mysql]# ln -sf /usr/local/mysql/bin/mysql /usr/bin/

以上步骤全部执行成功,就可以使用客户端链接工具链接MySQL服务的数据库了

  1. 登录终端出现的问题如下:
    [root@localhost lib]# mysql -uroot -p
    Enter password:
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
    ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock
    解决方法:[root@localhost lib]# ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock 即可。

12.对目录给予权限
# chown -R mysql.mysql /data/mysql
5.可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!

13.创建root用户对外链接:
mysql> create user root@‘%’;
mysql> alter user root@‘%’ identified with mysql_native_password by ‘Datasw@2023’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit;

  1. 设置开机自启:
    复制操作:如已操作不需要在设置以下的复制命令了*****
    cp /usr/local/mysql/support-files/support-files/mysql.server /etc/init.d/mysql

    复制后赋予权限:chmod +x /etc/init.d/mysql

    添加到服务列表:chkconfig --add mysql

    查看服务列表:chkconfig --list
    设置开机自启: chkconfig --level 345 mysql on

    最后重启服务器即可。使用reboot命令进行了执行。

15.关机命令
常用的命令:

halt 立即关机,poweroff 立即关机, shutdow -h now 立即关机(root用户使用)  shutdown -h 10 10分钟后自动关机.
shutdown命令:shutdown命令安全的将系统进行关机,有些用户会使用直接断电的方式来关闭Linux,这是十分危险的.因为linux在其后台运行着许多的进程,所以强制关机可能会导致进程数据额定丢失,使得系统处于不稳定的状态,甚至在有的系统中会损坏设备,而在关机前使用shutdown命令,系统管理员,会通知所有登录的用户系统将关闭,并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。

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

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

相关文章

pymysql 库 - python 操作 mysql

环境: Win10 x64 Python 3.7 PyMySQL 1.0.2 MySQL 8.0.27 1 安装 pip install pymysql 2 地址 https://pypi.org/project/pymysql/ 3.1 数据库版本查询 (search_version.py) import pymysql# 打开数据库连接 try:db pymysql.connect(hostlocalhost, userr…

python安装第三方包时报错:...\lib\site-packages\pip\_vendor\urllib3\response.py...

安装redis第三方包: pip install redis报错现象: 解决方法:使用以下命令可成功安装 pip install redis -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

关于网络入侵检测领域使用Spark/Flink等计算框架做分布式

关于网络入侵检测领域使用Spark/Flink等计算框架做分布式 0、引言1 基于LightGBM的网络入侵检测研究2 基于互信息法的智能化运维系统入侵检测Spark实现3 基于Spark的车联网分布式组合深度学习入侵检测方法4 基于Flink的分布式在线集成学习框架研究5 基于Flink的分布式并行逻辑回…

mongodb基础

mongodb语法 参考文档:https://docs.mongodb.com/manual/reference/ BSON Types BSON Type有2种标识符,整形和字符串 类型数值字符串说明Double1“double”String2“string”Object3“object”Array4“array”Binary data5“binData”Undefined6“un…

8.9黄金最新行情走势分析及短线交易策略

近期有哪些消息面影响黄金走势?黄金多空该如何研判? ​黄金消息面解析:周三(8月9日)现货黄金维持震荡,目前交投于1930美元附近,隔日现货黄金盘中震荡下行,失守1930关口并在美盘时段…

【Spring】-Spring的IoC和DI

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:什么是spring?IoC容器是什么?如何使代码解耦合?IoC的核心原理,IoC的优点。依赖注入/对象装配/…

【ARM 嵌入式 编译系列 10 -- GCC 编译缩减可执行文件 elf 文件大小】

文章目录 GCC 如何缩减可执行文件size测试代码 上篇文章:ARM 嵌入式 编译系列 9-- GCC 编译符号表(Symbol Table)的详细介绍 下篇文章:ARM 嵌入式 编译系列 10.1 – GCC 编译缩减可执行文件 elf 文件大小 GCC 如何缩减可执行文件s…

Linux下在qtcreator中创建qt程序

目录 1、新建项目 2、单工程项目创建 3、多工程项目创建 4、添加子工程(基于多工程目录结构) 5、 .pro文件 1、新建项目 切换到“编辑”界面,点击菜单栏中的“文件”-“新建文件或项目” 2、单工程项目创建 只有一个工程的项目&#…

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库,一套典型的移动端办公工具型APP Axure RP原型模板,可根据实际的产品需求进行扩展,也可以作为移动端原型设计的参考案例。为提升本作品参考价值,在模板设计过程中尽量追求…

chatGPT应用于房地产行业

作为 2023 年的房地产专业人士,您无疑认识到技术对行业的重大影响。近年来,一项技术进步席卷了世界——人工智能。人工智能彻底改变了房地产业务的各个方面,从简化管理任务到增强客户互动。 在本文中,我们将探讨几种巧妙的人工智…

HTML 语言简介

1.概述 HTML 是网页使用的语言,定义了网页的结构和内容。浏览器访问网站,其实就是从服务器下载 HTML 代码,然后渲染出网页。 HTML 的全名是“超文本标记语言”(HyperText Markup Language),上个世纪90年代…

zabbix自动注册服务器以及部署代理服务器

文章目录 Zabbix自动注册服务器及部署代理服务器一.zabbix自动注册1.什么是自动注册2.环境准备3.zabbix客户端配置4.在 Web 页面配置自动注册5.验证自动注册 二.部署 zabbix 代理服务器1.分布式监控的作用:2.环境部署3.代理服务器配置4.客户端配置5.web页面配置5.1 …

MS9940T 国产 模拟前端AFE芯片 11-15 节锂电池或磷酸盐电池管理芯片 替代BQ76940

产品简述 MS9940T 是模拟前端 (AFE) 芯片,支持11 到 15 组电池串联。通过 I 2 C ,主机控制器 可以使用 MS9940T 来实现电池组管理功能,例如监控(电池电压、电池组电流、电池组 温度)、保护(控制…

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测 目录 分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.GWO-BiLSTM-Attention 数据分类预测程序 2.代码说明:基于灰狼优化算法&#xff08…

vuejs 设计与实现 - 组件的实现原理

1.渲染组件 如果是组件则:vnode .type的值是一个对象。如下: const vnode {type: MyComponent,}为了让渲染器能处理组件类型的虚拟节点,我们还需要在patch函数中对组件类型的虚拟节点进行处理,如下: function patc…

CentOS7.9 禁用22端口,使用其他端口替代

文章目录 业务场景操作步骤修改sshd配置文件修改SELinux开放给ssh使用的端口修改防火墙,开放新端口重启sshd生效 相关知识点介绍sshd服务SELinux服务firewall.service服务 业务场景 我们在某市实施交通信控平台项目,我们申请了一台服务器,用…

学习Vue:列表渲染(v-for)

在 Vue.js 中,实现动态列表的显示是非常常见的需求。为了达到这个目的,Vue 提供了 v-for 指令,它允许您迭代一个数组或对象,将其元素渲染为列表。然而,在使用 v-for 时,key 属性的设置也非常重要&#xff0…

微信小程序(原生)搜索功能实现

一、效果图 二、代码 wxml <van-searchvalue"{{ keyword }}"shape"round"background"#000"placeholder"请输入关键词"use-action-slotbind:change"onChange"bind:search"onSearch"bind:clear"onClear&q…

实践-CNN卷积层

实践-CNN卷积层 1 卷积层构造2 整体流程3 BatchNormalization效果4 参数对比5 测试效果 1 卷积层构造 2 整体流程 根据网络结构来写就可以了。 池化 拉平 训练一个网络需要2-3天的时间。用经典网络来&#xff0c;一些细节没有必要去扣。 损失函数&#xff1a; fit模型&…

运维监控学习笔记1

1、监控对象&#xff1a; 1、监控对象的理解&#xff1b;CPU是怎么工作的&#xff1b; 2、监控对象的指标&#xff1a;CPU使用率&#xff1b;上下文切换&#xff1b; 3、确定性能基准线&#xff1a;CPU负载多少才算高&#xff1b; 2、监控范围&#xff1a; 1、硬件监控&#x…