linux centos7系统离线部署mysql-8.0.35免安装版本

一、准备工作

1、卸载MariaDB

在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。

  • 查看版本:
rpm -qa|grep mariadb
  • 卸载
rpm -e --nodeps 【文件名】
  • 检查是否卸载干净:
rpm -qa|grep mariadb

注意:1、卸载前要切换root环境,否则提示无权限。2、mariadb可能有两个文件都要卸载

  • 检查cnetos环境中GLIBC的版本
    由于我的centos7版本只能到glibc 2.17,下载相应的mysql版本
    #查看glibc版本
    ldd --version   
    #查看源中glibc有那些版本
    strings /lib64/libc.so.6 | grep GLIBC_
    

2、下载mysql

[官网链接](https://dev.mysql.com/downloads)
  • 找到压缩包的下载链接
    点击 MySQL Community Server
    在这里插入图片描述
  • 下载免安装版本
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/d38d61a6c5674c1eb28967d82a7e3baa.png
    服务器能连接互联网的也可以通过wget方式下载
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.35-linux-glibc2.17-x86_64.tar

二、安装部署

1、将文件拖到linux的相应目录下,并解压

#解压
tar -xvf mysql-8.0.35-linux-glibc2.17-x86_64.tar # 解压 tar包
#改名
mv mysql-8.0.35-linux-glibc2.17-x86_64 mysql-8.0.35

2、添加PATH环境变量

  • 临时添加
#执行命令
export PATH=$PATH:/Data/mysql-8.0.35/bin

虽然后面修改配置文件也添加了环境变量,但是银河麒麟v10系统也要手动添加一次,否则mysqld会提示找不到命令

  • 插入环境变量
vi /etc/profile
#在合适位置插入
export PATH=$PATH:/Data/mysql-8.0.35/bin
#保存后执行,更新环境变量
source /etc/profile

3、创建数据目录

mkdir -p /Data/mysql-8.0.35/datas  # 数据目录
mkdir -p /Data/mysql-8.0.35/logs  # 日志等目录```

注意:datas目录必须是空的!!!空的!!!否则初始化会报错!!!
日志目录与数据目录至少是平级目录千万不可吧日志目录创建到数据目录内部!!!

4、创建mysql组和用户

#创建组
[root@111 mysql-8.0.35]# groupadd mysql
#创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
[root@111 mysql-8.0.35]# useradd -r -g mysql -s /Data/false mysql
#将用户添加到组中
[root@111 mysql-8.0.35]# chown -R mysql:mysql ./

5、赋予权限

  • 更改用户组
chown -R mysql:mysql /Data/mysql-8.0.35
  • 更改权限
chmod -R 750 /Data/mysql-8.0.35/datas
chmod -R 750 /Data/mysql-8.0.35/logs

特别注意:必须给两个文件夹赋予权限否则会报错无法启动,但是权限不建议赋予太高,如果设置777在MySQL日志中可能会有警告:(有警告但是可以启动)

5、修改mysql配置文件

vi /etc/my.cnf
[mysql]
#默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /Data/mysql-8.0.35/mysql.sock

[mysqld]
port       = 3306
server-id  = 3306
socket     = /Data/mysql-8.0.35/mysql.sock
# 安装目录
basedir    = /Data/mysql-8.0.35
# 数据存放目录
datadir    = /Data/mysql-8.0.35/datas/mysql
log-bin    = /Data/mysql-8.0.35/datas/mysql/mysql-bin
innodb_data_home_dir      =/Data/mysql-8.0.35/datas/mysql
innodb_log_group_home_dir =/Data/mysql-8.0.35/datas/mysql
#日志及进程数据的存放目录
log-error =/Data/mysql-8.0.35/logs/mysql.log
pid-file  =/Data/mysql-8.0.35/logs/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB

保存退出

6、执行初始化

#进入mysql 安装目录bin下:
./mysqld --defaults-file=/etc/my.cnf --basedir=/Data/mysql-8.0.35 --datadir=/Data/mysql-8.0.35/datas/mysql --user=mysql --initialize-insecure

7、启动mysql

/Data/mysql-8.0.35/support-files/mysql.server start

8、重置密码

因为上面启动后,root是没有密码的,所以需要重新设置一个密码

mysql -uroot
mysql> use mysql
mysql> alter user 'root'@'localhost' identified by 'abcABC!123456';
mysql> flush privileges;
mysql> quit

远程调用可能访问不了,因为localhost只能本地访问,远程调用可以将localhost设置为% 或者指定IP

mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

三、安装过程可能遇到的问题

执行过程中,如果出现

版本不对,下载相应的版本

  • 17
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值