centos 离线安装mysql8

写在前面:

  1. 网上的离线安装真的是大开眼界,一个一个的不会还乱写。
  2. 这里用的是linux通用版mysql。
  3. 安装部署要严格按照我写的走。
  4. 有些人可能还需要在线安装方式,我就不写了,这里给大家推荐一篇:
    https://blog.csdn.net/weixin_39606484/article/details/135291409

1. 检查卸载mysql、mariadb

(1). 检查卸载mysql:

rpm -qa |grep -i mysql
[root@localhost ~]# rpm -qa |grep -i mysql
mysql80-community-release-el8-1.noarch
mysql-community-server-8.0.27-1.el8.x86_64
mysql-community-client-plugins-8.0.27-1.el8.x86_64
mysql-community-libs-8.0.27-1.el8.x86_64
mysql-community-client-8.0.27-1.el8.x86_64
bt-mysql57-5.7.34-1.el8.x86_64
mysql-community-common-8.0.27-1.el8.x86_64

用yum卸载:

yum remove mysql80-community-release-el8-1.noarch
yum remove mysql-community-server-8.0.27-1.el8.x86_64
yum remove mysql-community-client-plugins-8.0.27-1.el8.x86_64
yum remove mysql-community-libs-8.0.27-1.el8.x86_64
yum remove mysql-community-client-8.0.27-1.el8.x86_64
yum remove bt-mysql57-5.7.34-1.el8.x86_64
yum remove mysql-community-common-8.0.27-1.el8.x86_64

也可以用rpm卸载:

rpm -ev mysql80-community-release-el7-7.noarch
rpm -ev mysql-community-client-plugins-8.0.22-1.ky3.kb1.x86_64

查找mysql相关目录,以防万一全部删除:

[root@localhost ~]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/selinux/targeted/active/modules/100/mysql
/var/lib/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/selinux/targeted/default/active/modules/100/mysql

进行删除:

rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/selinux/targeted/tmp/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/selinux/targeted/default/active/modules/100/mysql

(2). 检查卸载mariadb

rpm -qa | grep mariadb

如果有,卸载:

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64

在这里插入图片描述

2. 安装

(1). 安装前先关闭selinux:

vi /etc/selinux/config

将SELINUX 的值 修改为disabled
(对linux比较陌生的。切记对任何修改文件做备份,最起码也要像我截图的,把原来的注释掉,新加一条,以便后续回滚)
在这里插入图片描述

(2). 下载

mysql社区版官网下载地址(MySQL是收费的,社区版是不收费的,所以市面上大家都用社区版):https://dev.mysql.com/downloads/mysql/

这里有个地方需要注意:
就是glibc版本: 需要到自己的机器查看:

ldd --version

在这里插入图片描述

看截图操作,选择glic2.17版本:

在这里插入图片描述
选择 No thanks, just start my download.
在这里插入图片描述

(3).上传到usr/local/下并解压

解压:

	cd /usr/local
	tar -Jxvf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz

重命名:

	mv mysql-8.0.39-linux-glibc2.17-x86_64 mysql

必须重命名为mysql
在这里插入图片描述

(4).配置环境变量

vi /etc/profile
添加 :export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile

在这里插入图片描述

(5). 创建用户,用户组

groupadd mysql
useradd -r -g mysql mysql

在这里插入图片描述

(6). 创建数据目录

mkdir -p /data/mysql8_data

(7).赋予权限

文件归属:

chown -R mysql:mysql /data/mysql8_data

读写权限:

chmod -R 750 /data/mysql8_data

(8).添加配置文件

vi /usr/local/etc/my.cnf

配置内容如下:

[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /tmp/mysql.sock
[mysqld]
port       = 3306
server-id  = 1
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录 
basedir    = /usr/local/mysql
# 数据存放目录
datadir    = /data/mysql8_data/mysql
log-bin    = /data/mysql8_data/mysql/mysql-bin
innodb_data_home_dir      =/data/mysql8_data/mysql
innodb_log_group_home_dir =/data/mysql8_data/mysql
# 日志及进程数据的存放目录
log-error =/data/mysql8_data/mysql/mysql.log
pid-file  =/data/mysql8_data/mysql/mysql.pid
# 服务端字符集
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##### 以上涉及文件夹明,注意修改
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
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
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建表时使用的默认存储引擎
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
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

(9).初始化数据库

mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql8_data/mysql    --user=mysql --initialize-insecure

参数说明:
–defaults-file:指定配置文件(要放在–initialize 前面)
–user: 指定用户
–basedir:指定安装目录
–datadir:指定初始化数据目录
–intialize-insecure:初始化无密码(否则生成随机密码)

3. 启动并设置自启动

(1). 启动:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &

检查一下:

ps -ef|grep mysql

在这里插入图片描述

(2). 登录并设置密码

首次无密码

mysql -u root --skip-password

设置密码:
首次设置密码

mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

例如:

mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

mysql>FLUSH PRIVILEGES;

设置远程用户:
#创建无IP限制用户

mysql>CREATE user 'root'@'%';

#设置首次密码

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

#授权用户所有权限,刷新权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql>FLUSH PRIVILEGES;

退出mysql命令客户端:

mysql>quit;

(3).设置开机自启

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on

以后就可以使用一下命令启停服务:
查看 service mysql status
停服务 service mysql stop
起服务 service mysql start
重启服务 service mysql restart

4. 防火墙开放端口

开放3306端口
#查看端口状态:no 表示未开启

firewall-cmd --query-port=3306/tcp

#永久开放端口:

firewall-cmd --add-port=3306/tcp --permanent

#重启防火墙:

systemctl restart firewalld

测试一下(当然了,你是离线的,用别的方式自己试试(* ̄︶ ̄)):在这里插入图片描述
如果大家需要word版本的安装教程,可以关注我的公众号:想你所想共享小站 领取 回复“centos离线安装mysql8” 领取资料

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_27233977

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值