一、准备工作
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
- 下载免安装版本
服务器能连接互联网的也可以通过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文章来源:https://www.toymoban.com/news/detail-801610.html
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit
三、安装过程可能遇到的问题
执行过程中,如果出现
版本不对,下载相应的版本文章来源地址https://www.toymoban.com/news/detail-801610.html
到了这里,关于linux centos7系统离线部署mysql-8.0.35免安装版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!