Linux环境离线安装MySQL8.0.33

这篇具有很好参考价值的文章主要介绍了Linux环境离线安装MySQL8.0.33。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、准备

1、检查libaio.so.1

2、卸载删除原有的mariadb

3、删除my.cnf

4、下载mysql安装包

二、安装

1、上传mysql

2、建立mysql所需目录

3、建立配置文件my.cnf

4、创建mysql用户并授权

5、初始化数据库

6、启动MySQL数据库

7、配置MySQL环境变量

8、修改root登录密码

 三、常见启动报错处理

四、配置

1、开启MySQL远程连接

 2、解决Navicat连接报错“caching_sha2_password”


一、准备

1、检查libaio.so.1

mysql启动需要这个包,安装前提前检查下有没,没有则需要安装。

###查找
whereis libaio.so.1

###如果没有则安装
#在线安装
yum install -y libaio
#离线安装
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

2、卸载删除原有的mariadb

 卸载删除原有的mariadb,否则可能会报异常。 

#查询原有的mariadb环境
rpm -qa|grep mariadb

#卸载操作,rpm -e --nodeps后续跟着相应查出的mariadb即可,--nodeps为忽略依赖
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

3、删除my.cnf

如果之前安装过mysql卸载了,可查看下有无my.cnf并删除

#查找
find / -name my.cnf

#删除
rm -rf /etc/my.cnf

4、下载mysql安装包

官网地址:MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库根据自己的操作系统情况选择下载,我选了第一个“mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz”

注意:下载时确认下版本,下图红框处glibc版本需要与mysql显示的版本一致。

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

二、安装

1、上传mysql

#将文件mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz上传到服务器

#解压
tar -zxvf mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz

#移动到要安装的目录并重命名
mv mysql8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql

2、建立mysql所需目录

#建立mysql所需目录  /usr/local/mysql下建立
mkdir data
mkdir log
mkdir pid
mkdir tmp

3、建立配置文件my.cnf

#编辑my.cnf 
vim 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

第二套:使用过程中发现第一套占用内存略多,这套占用内存小一点,后面补充了这个第二套配置。

[mysqld]
port = 13306
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

#默认加密方式
default-authentication-plugin=mysql_native_password


# 服务端使用的字符集
character-set-server=utf8mb4
#1表示大小写不敏感,0表示大小写敏感
lower_case_table_names=1

skip-external-locking
key_buffer_size=256M
#限制server接受的数据包大小
max_allowed_packet=20M
table_open_cache=1024
sort_buffer_size=4M
net_buffer_length=8K
read_buffer_size=4M
read_rnd_buffer_size=512K
myisam_sort_buffer_size=64M
thread_cache_size=128

tmp_table_size=128M
explicit_defaults_for_timestamp=true
max_connections=200
max_connect_errors=50
open_files_limit=65535

# 创建新表时将使用的默认存储引擎
default_storage_engine=InnoDB
innodb_data_file_path=ibdata1:10M:autoextend
innodb_buffer_pool_size=1024M
innodb_log_file_size=256M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
transaction-isolation=READ-COMMITTED

#开启慢查询
slow_query_log=1

#慢查询最大时间5秒
long_query_time=5

#时区
default-time_zone='+8:00'

#关闭binlog日志
#skip-log-bin

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

 注意:

在MySQL8之后不支持NO_AUTO_CREATE_USER服务。也就是设置sql_mode中不能有NO_AUTO_CREATE_USER,否则后续MySQL无法启动,启动报错如下:

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

4、创建mysql用户并授权

#新建用户
adduser mysql

#授权
chown -R mysql:mysql /usr/local/mysql

5、初始化数据库

这里初始化后会有会打印出一个随机密码(如: root@localhost: JQ=ihNp-x64N ),记住他,后续修改root密码要用。

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 不区分大小写,初始化不指定,必须重装才能解决,非常重要

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

6、启动MySQL数据库

[准备操作] 不建立mysqld.log文件的话后续会报错
#建立所需
touch /usr/local/mysql/log/mysqld.log
#修改所属用户
chown -R mysql:mysql /usr/local/mysql/log/mysqld.log

启动方式一:
#将mysql纳入服务管理,这步不执行的话service mysql start报错
cp support-files/mysql.server /etc/init.d/mysql
#启动
service mysql start

启动方式二:
#启动MySQL
systemctl start mysqld
#停止MySQL
systemctl stop mysqld
#查看MySQL运行状态
systemctl status mysqld
#设置MySQL开机自启
systemctl enable mysqld

这里解答下为什么方式一要复制 mysql.server 到 /etc/init.d/mysql

/etc/init.d/xxxx xxxx这样的方式是老版本Linux使用的服务管理方式(针对从官方软件仓库或官方镜像源安装的软件),针对CentOS来说,是CentOS 6.9及其以下版本才用这样的方式启动MySQL服务,从CentOS 7开始,改成了systemd管理系统服务,这样可以用方式二来管理服务。

摘于:知乎 https://www.zhihu.com/question/455654934
 

7、配置MySQL环境变量

启动成功后修改环境变量,环境变量修改完后加载环境变量,然后输入mysql测试环境变量是否配置成功。

#打开/etc/profile文件编辑
sudo vim /etc/profile

#文件/etc/profile最下面加入如下内容
#MYSQL_HOME
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

#修改保存后加载环境变量
source /etc/profile

8、修改root登录密码

首次启动会报错:

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

#mysql.sock文件路径不对的问题
#在/tmp下创建一个link:
ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock

 解决报错问题后重新登录:

#root登录
mysql -u root -p

#输入初始化数据库时让记住的密码
JQ=ihNp-x64N

#修改密码,注意如果密码不符合配置的密码策略,会报错,密码可以复杂点
alter user root@localhost identified by '123456';

 三、常见启动报错处理

报错1:

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).=

需要建立所需文件并修改文件属主后再次启动。

#建立所需
touch /usr/local/mysql/log/mysqld.log
#修改所属用户
chown -R mysql:mysql /usr/local/mysql/log/mysqld.log

报错2:

ERROR! The server quit without updating PID file (/usr/local/mysql/pid/mysqld.pid).= 

可以查看日志文件/usr/local/mysql/log/mysqld.log确认具体原因。

比如:在MySQL8之后不支持NO_AUTO_CREATE_USER服务。

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

报错3:

mysql.sock文件路径不对的问题

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

在/tmp下创建一个link:ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock

四、配置

1、开启MySQL远程连接

一般都会通过Navicat连接,但root用户默认只能本地访问。

#使用mysql数据库
use mysql;

#查看root账号权限
select user,host from user;

#如果root不是 %,使用语句更新
update user set host = '%' where user = 'root';

#修改后仍无法远程访问可重启下服务
service mysql restart

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

 2、解决Navicat连接报错“caching_sha2_password”

Navicat连接时报错 Authentication plugin ‘caching_sha2_password‘ cannot be loaded

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库

  • mysql5 默认加密方式是 my_native_password
  • mysql8 默认加密方式是 caching_sha2_password

这个问题就是MySQL使用了caching_sha2_password加密方式但Navicat却找不到某个必需的文件。可通过修改root加密方式来解决。

# 选择数据库mysql
use mysql; 
#只修改root加密方式,这里还需定义密码,注意如果密码不符合配置的密码策略,会报错,密码可以复杂点
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123@#a';

配置完成后再测试下连接,可以连接成功了。

Linux环境离线安装MySQL8.0.33,linux,运维,服务器,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-683282.html

到了这里,关于Linux环境离线安装MySQL8.0.33的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL8.0.33二进制包安装与部署

    2024年02月13日
    浏览(48)
  • Centos7安装MySQL8.0.33最新版本详细介绍

                                                     ! ! ! 跟着文档走安装不上我去吃shi 环境前准备: ● 操作系统:Centos7 X86架构 ● Mysql安装版本:8.0.33 ● 连接工具:Xshell/Xftp  进入官网下载对应的版本 https://dev.mysql.com/downloads/mysql/ 直接复制此链接即可 查看操作系统是

    2024年02月07日
    浏览(52)
  • MySQL8.0.33主从复制配置记录

    官网:https://dev.mysql.com/downloads/mysql/ 在线下载或者下载到本地再上传 准备wget下载工具: 进入MySQL的bin目录 初始化并得到密码 ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory 报错,缺依赖:::: yum install -y libaio yum -y install numactl 再初始

    2024年02月02日
    浏览(43)
  • Linux中安装MySQL8版本,安装MySQL步骤,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

    2024年02月13日
    浏览(37)
  • linux环境安装mysql8.0.32

    访问官网:https://www.mysql.com/ 往下划到最下面: 点击Community Server 按如下图步骤点选下载 点选archives 选择版本,类型,系统位数 下载 手动卸载my.cnf文件 检查是否卸载成功 检查系统是否安装了mariadb数据库, mariadb数据库是mysql的分支,是免费开源的。 mariadb和msyql会有冲突。首

    2024年02月12日
    浏览(56)
  • Linux环境下Mysql8的下载、安装、主从模式搭建

      下载地址:MySQL :: Download MySQL Community Server (Archived Versions) 文件名称:mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 先解压xz xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 再解压tar tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar mkdir data groupadd mysql useradd -g mysql mysql chown -R mysql.mysql /data/mysql8 /data/mysql8是解压

    2024年02月08日
    浏览(53)
  • Centos /Linux环境下利用Docker 安装mysql5.7镜像(含离线安装),启动mysql镜像并初始化数据库

    使用有网的服务器下载好镜像 保存下载好的镜像成tar 将镜像上传到所需服务器(放在固定位置) 导入镜像 注意名称,这里的mysql5.7和上面打包 docker save imageid mysql5.7 的名称一致,本例未改名 查看导入的镜像,并重新命名镜像 创建本地数据库目录、配置文件以及日志目录(

    2024年02月10日
    浏览(73)
  • Linux安装MySQL8

    一、准备安装包 1.官网下载安装包 https://dev.mysql.com/downloads/mysql/ 这里我下载的是64位版本,且注意是tar.xz格式的压缩包 2.将下载好的安装包放到服务器/usr/local目录下 二、开始安装 #进入usr/local目录 1.将.xz解压为.tar 2.将.tar解压为普通文件 3.重命名文件夹 4.进入mysql8文件目录,

    2024年02月14日
    浏览(54)
  • Linux 安装Mysql8.0

    目录 一、官网下载Mysql安装包 ​二、解压安装 三、创建mysql用户组及用户 四、初始化数据库 五、配置Mysql 六、建立Mysql服务 七、修改密码 八、开启远程访问 九、关闭Linux防火墙 我的环境是Centos选择对应系统 MySQL :: Download MySQL Community Server 上传文件至服务器,本次演示mysq

    2024年02月05日
    浏览(40)
  • Linux下安装mysql8.0

    1.1 进入官网选择社区版mysql mysql官网网址:MySQL  1.2 选择 MySQL Community Server 下载 1.3 选择操作系统类型和MySQL版本 1.4 开始下载  1.4.1 Linux中下载MySQL 1.5 在Linux中输入:wget+上面所复制的链接地址 (我这里下载的是Linux8.0.30版本的mysql所以我在Linux中的下载命令为: wget https://de

    2024年02月03日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包