Linux7.6二进制安装Mysql8.0.27详细操作步骤


Posted in MySQL onNovember 27, 2021

一、环境准备

1.1 操作系统版本

[root@rhel76 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)

1.2 磁盘空间

[root@rhel76 ~]# df -TH
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        32G  4.6G   27G  15% /
devtmpfs              devtmpfs  2.1G     0  2.1G   0% /dev
tmpfs                 tmpfs     2.1G     0  2.1G   0% /dev/shm
tmpfs                 tmpfs     2.1G   14M  2.1G   1% /run
tmpfs                 tmpfs     2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/sda1             xfs       996M  172M  825M  18% /boot
/dev/mapper/rhel-u01  xfs        30G   34M   30G   1% /u01
tmpfs                 tmpfs     413M  4.1k  413M   1% /run/user/42
tmpfs                 tmpfs     413M   46k  413M   1% /run/user/0

1.3 关闭防火墙

[root@rhel76 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2021-11-23 23:46:04 UTC; 9min ago
     Docs: man:firewalld(1)
Main PID: 9621 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─9621 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid


Nov 23 23:46:03 rhel76 systemd[1]: Starting firewalld - dynamic firewall daemon...
Nov 23 23:46:04 rhel76 systemd[1]: Started firewalld - dynamic firewall daemon.

[root@rhel76 ~]# systemctl stop firewalld
[root@rhel76 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Linux7.6二进制安装Mysql8.0.27详细操作步骤

1.4 关闭 selinux

[root@rhel76 ~]# getenforce
Enforcing

[root@rhel76 ~]# cp /etc/selinux/config /etc/selinux/config_`date +"%Y%m%d_%H%M%S"`
[root@rhel76 ~]# sed -i 's/SELINUX\=enforcing/SELINUX\=disabled/g' /etc/selinux/config

以上修改完后重启
[root@rhel76 ~]# reboot

[root@rhel76 ~]# getenforce
Disabled
[root@rhel76 ~]# sestatus
SELinux status:  disabled

1.5 HOST解析

[root@rhel76 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.81 rhel76

[root@rhel76 ~]# hostname
rhel76

Linux7.6二进制安装Mysql8.0.27详细操作步骤

1.6 Mysql下载

https://dev.mysql.com/downloads/mysql/
MD5: 0bdd171cb8464ba32f65f7bf58bc9533

Linux7.6二进制安装Mysql8.0.27详细操作步骤

二、 yum安装及配置

2.1 挂载本地光盘镜像

[root@rhel76 ~]# mkdir -p /mnt/dvd/

[root@rhel76 ~]# df -TH
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        32G  4.7G   27G  15% /
devtmpfs              devtmpfs  2.1G     0  2.1G   0% /dev
tmpfs                 tmpfs     2.1G     0  2.1G   0% /dev/shm
tmpfs                 tmpfs     2.1G   14M  2.1G   1% /run
tmpfs                 tmpfs     2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/sda1             xfs       996M  172M  825M  18% /boot
/dev/mapper/rhel-u01  xfs        30G   34M   30G   1% /u01
tmpfs                 tmpfs     413M   21k  413M   1% /run/user/0
tmpfs                 tmpfs     413M   13k  413M   1% /run/user/42
/dev/sr0              iso9660   4.5G  4.5G     0 100% /run/media/root/RHEL-7.6 Server.x86_64

[root@rhel76 ~]# mount /dev/sr0 /mnt/dvd
mount: /dev/sr0 is write-protected, mounting read-only
You have mail in /var/spool/mail/root

Linux7.6二进制安装Mysql8.0.27详细操作步骤

2.2 配置yum源

[root@rhel76 ~]# cd /etc/yum.repos.d/
[root@rhel76 yum.repos.d]# cat >> /etc/yum.repos.d/redhat.repo << "EOF"
> [rhel7]
> name=jeames repo
> baseurl=file:///mnt/dvd/
> gpgcheck=0
> EOF

2.3 安装依赖包

[root@rhel76 ~]# yum -y groupinstall "DeveLopment tools"
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Warning: Group development does not have any packages to install.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update

[root@rhel76 ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

Linux7.6二进制安装Mysql8.0.27详细操作步骤

三、卸载MariaDB

[root@rhel76 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64

[root@rhel76 ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

四、安装 MySQL

4.1 用户及目录创建

注:可以部署多个实例,通过端口区分root 用户操作:mkdir -p /mysql/data/mysql3306mkdir -p /mysql/app/mkdir -p /mysql/conf/mkdir -p /mysql/data/mysql3306/pid/mkdir -p /mysql/data/mysql3306/socket/mkdir -p /mysql/data/mysql3306/log/mkdir -p /mysql/data/mysql3306/binlog/mkdir -p /mysql/data/mysql3306/errlogmkdir -p /mysql/data/mysql3306/relaylog/mkdir -p /mysql/data/mysql3306/slowlog/mkdir -p /mysql/data/mysql3306/tmp/

4.2 用户及组

[root@rhel76 ~]# groupadd mysql
[root@rhel76 ~]# useradd -g mysql mysql
[root@rhel76 ~]# chown -R mysql:mysql /mysql
[root@rhel76 ~]# passwd mysql
Changing password for user mysql.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

[root@rhel76 ~]# cat /etc/group | grep mysql
mysql:x:1001:
[root@rhel76 ~]# cat /etc/passwd | grep mysql
mysql:x:1001:1001::/home/mysql:/bin/bash

Linux7.6二进制安装Mysql8.0.27详细操作步骤

4.3 上传软件包并解压

[root@rhel76 ~]# cp mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz /mysql/app
[root@rhel76 ~]# chown -R mysql:mysql /mysql

mysql用户操作
[root@rhel76 ~]# su - mysql
md5 值验证,保证下载到的软件包无破损无木马
[mysql@rhel76 ~]$ cd /mysql/app
[mysql@rhel76 app]$ ll
total 1168588
-rw-r--r-- 1 mysql mysql 1196633756 Nov 24 00:49 mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
[mysql@rhel76 app]$ md5sum mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
0bdd171cb8464ba32f65f7bf58bc9533  mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

解压软件包并重命名
[mysql@rhel76 app]$ tar xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
[mysql@rhel76 app]$ mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8.0.27

[mysql@rhel76 app]$ ll
total 1168588
drwxrwxr-x 9 mysql mysql        129 Nov 24 00:54 mysql8.0.27
-rw-r--r-- 1 mysql mysql 1196633756 Nov 24 00:49 mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

Linux7.6二进制安装Mysql8.0.27详细操作步骤

五.环境变量配置

cat >> /home/mysql/.bash_profile << "EOF"
MYSQL_HOME=/mysql/app/mysql8.0.27
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$MYSQL_HOME/bin
EOF


source ~/.bash_profile
which mysql

Linux7.6二进制安装Mysql8.0.27详细操作步骤

六.创建参数文件

由于是二进制文件安装,数据库参数文件需要自己配置

cat >> /mysql/conf/my3306.cnf << "EOF"
[mysqld]
server_id = 80273306
default-storage-engine= InnoDB
basedir=/mysql/app/mysql8.0.27
datadir=/mysql/data/mysql3306/data/
socket=/mysql/data/mysql3306/socket/mysql.sock
log-error=/mysql/data/mysql3306/log/mysqld.log
pid-file=/mysql/data/mysql3306/pid/mysqld.pid
port=3306
default-time_zone='+8:00'
default_authentication_plugin=mysql_native_password # 加此参数可远程登陆
transaction_isolation=READ-COMMITTED
max_connections=1500
back_log=500
wait_timeout=1800
max_user_connections=800
innodb_buffer_pool_size=1024M
innodb_log_file_size=512M
innodb_log_buffer_size=40M
slow_query_log=ON
long_query_time=5
# log settings #
slow_query_log = ON
slow_query_log_file = /mysql/data/mysql3306/slowlog/slow3306.log
log_error = /mysql/data/mysql3306/errlog/err3306.log
log_error_verbosity = 3
log_bin = /mysql/data/mysql3306/binlog/mysql_bin
log_bin_index = /mysql/data/mysql3306/binlog/mysql_binlog.index
general_log_file = /data/mysql/mysql3306/generallog/general.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
expire_logs_days = 90
binlog_expire_logs_seconds = 2592000      #30d
long_query_time = 2
min_examined_row_limit = 100
log_throttle_queries_not_using_indexes = 1000
innodb_flush_log_at_trx_commit=1

EOF

七.数据库初始化

mysql用户操作:
mysqld --defaults-file=/mysql/conf/my3306.cnf --initialize --user=mysql --basedir=/mysql/app/mysql8.0.27 --datadir=/mysql/data/mysql3306/data/
注意:以上同一行执行

八.启动Mysql

[mysql@rhel76 ~]$ mysqld_safe --defaults-file=/mysql/conf/my3306.cnf --user=mysql &
[1] 21406
[mysql@rhel76 ~]$ 2021-11-24T06:14:23.240372Z mysqld_safe Logging to '/mysql/data/mysql3306/errlog/err3306.log'.
2021-11-24T06:14:23.296992Z mysqld_safe Starting mysqld daemon with databases from /mysql/data/mysql3306/data

Linux7.6二进制安装Mysql8.0.27详细操作步骤

九.登陆Mysql

第一次登录 MySQL 时,需要到错误日志下找初始化密码,我这里的密码为:-(Qy5Aj9t,=a
使用 socket 加密码登录进去后,无法查询任何东西,提示先要修改 root 密码。

[mysql@rhel76 ~]$ cat /mysql/data/mysql3306/errlog/err3306.log | grep password

2021-11-24T06:12:14.610657Z 0 [Note] [MY-010309] [Server] Auto generated RSA key files through --sha256_password_auto_generate_rsa_keys are placed in data directory.
2021-11-24T06:12:14.610686Z 0 [Note] [MY-010308] [Server] Skipping generation of RSA key pair through --caching_sha2_password_auto_generate_rsa_keys as key files are present in data directory.
2021-11-24T06:12:14.615367Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: -(Qy5Aj9t,=a
2021-11-24T06:14:26.153958Z 0 [Note] [MY-010308] [Server] Skipping generation of RSA key pair through --sha256_password_auto_generate_rsa_keys as key files are present in data directory.
2021-11-24T06:14:26.153979Z 0 [Note] [MY-010308] [Server] Skipping generation of RSA key pair through --caching_sha2_password_auto_generate_rsa_keys as key files are present in data directory.

[mysql@rhel76 ~]$ mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

##此处通过sock登陆
[mysql@rhel76 ~]$ mysql -uroot -p  -P 3306 -S /mysql/data/mysql3306/socket/mysql.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27


Copyright (c) 2000, 2021, Oracle and/or its affiliates.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> status
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

十.修改密码

mysql> alter user root@'localhost' identified by 'root';Query OK, 0 rows affected (0.01 sec)mysql> status--------------mysql  Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:          8Current database:Current user:           root@localhostSSL:                    Not in useCurrent pager:          stdoutUsing outfile:          ''Using delimiter:        ;Server version:         8.0.27Protocol version:       10Connection:             Localhost via UNIX socketServer characterset:    utf8mb4Db     characterset:    utf8mb4Client characterset:    utf8mb4Conn.  characterset:    utf8mb4UNIX socket:            /mysql/data/mysql3306/socket/mysql.sockBinary data as:         HexadecimalUptime:                 8 min 0 secThreads: 2  Questions: 7  Slow queries: 0  Opens: 398  Flush tables: 3  Open tables: 36  Queries per second avg: 0.014--------------

十一.远程登陆设置

使用如下语句创建 root 用户是无法通过 navicat 等客户端登录的,
由于从 MySQL8 开始,身份验证插件发生改变,
默认的 “caching_sha2_password” 不允许远程登录,
故需将此插件修改为 “mysql_native_password” 便可登录。

mysql> create user root@'%' identified with mysql_native_password by 'root';
mysql> grant all on *.* to root@'%' with grant option;
mysql> flush privileges;

mysql> select user,host,plugin from mysql.user;  
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)

Linux7.6二进制安装Mysql8.0.27详细操作步骤

到此这篇关于Linux7.6二进制安装Mysql8.0.27详细操作步骤的文章就介绍到这了,更多相关Linux7.6二进制安装Mysql8.0.27内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL命令行操作时的编码问题详解
Apr 14 MySQL
MySql学习笔记之事务隔离级别详解
May 12 MySQL
SQL实现LeetCode(178.分数排行)
Aug 04 MySQL
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
Aug 23 MySQL
浅谈mysql哪些情况会导致索引失效
Nov 20 MySQL
mysql5.6主从搭建以及不同步问题详解
Dec 04 MySQL
mysql中DCL常用的用户和权限控制
Mar 31 MySQL
以MySQL5.7为例了解一下执行计划
Apr 13 MySQL
MySQL提取JSON字段数据实现查询
Apr 22 MySQL
解决Mysql中的innoDB幻读问题
Apr 29 MySQL
MySQL普通表如何转换成分区表
May 30 MySQL
数据设计之权限的实现
Aug 05 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 #MySQL
mysql timestamp比较查询遇到的坑及解决
Nov 27 #MySQL
分享mysql的current_timestamp小坑及解决
Nov 27 #MySQL
MySQL中CURRENT_TIMESTAMP的使用方式
Nov 27 #MySQL
MySQL Innodb索引机制详细介绍
Nov 23 #MySQL
浅谈mysql哪些情况会导致索引失效
Nov 20 #MySQL
MySQL数据库索引的最左匹配原则
Nov 20 #MySQL
You might like
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
yii数据库的查询方法
2015/12/28 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
儿科护理实习自我鉴定
2013/09/19 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
行政主管岗位职责
2015/02/03 职场文书
少先队中队工作总结
2015/08/14 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript
Tomcat弱口令复现及利用
2022/05/06 Servers
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android