首页 > 数据库 >centos7.9离线安装mysql5.7.42(本文使用initialize安装方法)

centos7.9离线安装mysql5.7.42(本文使用initialize安装方法)

时间:2023-07-19 15:23:08浏览次数:31  
标签:5.7 root mysql5.7 local 离线 190 NIWAY mysql 安装

centos7.9离线安装mysql5.7.42(本文使用initialize安装方法)
一、卸载CentOS7系统自带mariadb

# 查看系统自带的Mariadb
[root@NIWAY-190 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
# 卸载系统自带的Mariadb
[root@NIWAY-190 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
# 删除etc目录下的my.cnf 如没有,可省略此步骤
[root@NIWAY-190 ~]# rm /etc/my.cnf


二、检查mysql是否存在

# 检查mysql是否存在
[root@NIWAY-190 ~]# rpm -qa | grep mysql
[root@NIWAY-190 ~]#

三、查看用户和组是否存在
1)检查mysql组合用户是否存在
# 检查mysql组和用户是否存在,如无则创建
[root@NIWAY-190 ~]# cat /etc/group | grep mysql
[root@NIWAY-190 ~]# cat /etc/passwd | grep mysql

# 查询全部用户(只是做记录,没必要执行)
[root@NIWAY-190 ~]# cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F ":" '{print $1 "|" $3 "1" $4}' | more
root|010
sync|510
[root@NIWAY-190 ~]#

2)若不存在,则创建mysql组和用户
# 创建mysql用户组
[root@NIWAY-190 ~]# groupadd mysql
# 创建一个用户名为mysql的用户,并加入mysql用户组
[root@NIWAY-190 ~]# useradd -g mysql mysql
# 制定password 为111111
[root@NIWAY-190 ~]# passwd mysql
Changing password for user mysql.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.

四、下载mysql离线安装包tar文件
官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

MySQL Community Server 5.7.42
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.42-el7-x86_64.tar.gz
版本选择,可以选择一下两种方式:

1)使用Red Hat Enterprise Linux
Select Version:5.7.42
Select Operating System:Red Hat Enterprise Linux / Oracle Linux
Select OS Version:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
列表中下载:
Compressed TAR Archive 5.7.42 711.3M
Download
(mysql-5.7.42-el7-x86_64.tar.gz) MD5: 0e4467e47da05b5f7a0713b45a38a82a

2)使用Linux - Generic
Select Version:5.7.42
Select Operating System:Linux - Generic
Select OS Version:Linux - Generic (glibc 2.12) (x86, 64-bit)
列表中下载:
Compressed TAR Archive 5.7.42 646.8M
Download
(mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz) MD5: c00530249e4bf6899d1fbf6d3fed4897
注意:上边两种方式找mysql离线安装包的方式都可以。本文选择的是第一种压缩包

五、上传第四步下载的mysql TAR包
# 进入/usr/local/文件夹
[root@NIWAY-190 ~]# cd /usr/local/
# 上传mysql TAR包到/usr/local/下面

[root@NIWAY-190 local]# ls
bin full-path-to-mysql-VERSION-OS include lib64 mysql-5.7.42-el7-x86_64.tar.gz share
etc games lib libexec sbin src

[root@NIWAY-190 local]# tar -zxvf mysql-5.7.42-el7-x86_64.tar.gz
mysql-5.7.42-el7-x86_64/bin/myisam_ftdump
mysql-5.7.42-el7-x86_64/bin/myisamchk
mysql-5.7.42-el7-x86_64/bin/myisamlog
mysql-5.7.42-el7-x86_64/bin/myisampack
mysql-5.7.42-el7-x86_64/bin/mysql
...
mysql-5.7.42-el7-x86_64/support-files/magic
mysql-5.7.42-el7-x86_64/support-files/mysql.server


[root@NIWAY-190 local]# ls
bin full-path-to-mysql-VERSION-OS include lib64 mysql-5.7.42-el7-x86_64 share
etc games lib libexec mysql-5.7.42-el7-x86_64.tar.gz sbin src
# 进入/usr/local下,修改为mysql
[root@NIWAY-190 local]# mv mysql-5.7.42-el7-x86_64 mysql
[root@NIWAY-190 local]# ls
bin etc full-path-to-mysql-VERSION-OS games include lib lib64 libexec mysql mysql-5.7.42-el7-x86_64.tar.gz sbin share src

六、更改所属的组和用户
# 更改所属的组和用户
[root@NIWAY-190 ~]# cd /usr/local/
[root@NIWAY-190 local]# chown -R mysql mysql/
[root@NIWAY-190 local]# chgrp -R mysql mysql/
[root@NIWAY-190 local]# cd mysql/
[root@NIWAY-190 mysql]# mkdir data
[root@NIWAY-190 mysql]# chown -R mysql:mysql data

七、在/etc下创建my.cnf文件
# 进入/usr/local/mysql文件夹下
[root@NIWAY-190 ~]# cd /usr/local/mysql

# 创建my.cnf文件
[root@NIWAY-190 mysql]# touch my.cnf #或者cd ''>my.cnf

# 编辑my.cnf
[root@NIWAY-190 mysql]# vi my.cnf

[mysql]
socket=/var/lib/mysql/mysql.sock
# set mysql client default chararter
default-character-set=utf8

[mysqld]
socket=/var/lib/mysql/mysql.sock
# set mysql server port
port=3306 #默认是3306,这里发现3306已经被占用,因此防止这种情况发生,可以避免使用3306mysql默认端口
# set mysql install base dir
# 设置mysql的安装目录
basedir=/usr/local/mysql
# set the data store dir
#设置 mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# set the number of allow max connnection
#允许最大连接数
max_connections=500
# set server charactre default encoding
character-set-server=utf8
# the storage engine
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true

[mysql.server]
user=mysql
basedir=/usr/local/mysql


[root@NIWAY-190 mysql]#

[root@NIWAY-190 mysql]# chown -R mysql:mysql my.cnf

[root@NIWAY-190 mysql]# chmod 644 my.cnf

[root@NIWAY-190 mysql]# mkdir -p /var/lib/mysql

[root@NIWAY-190 mysql]# cd /var/lib/

[root@NIWAY-190 mysql]# chown -R mysql:mysql mysql

八、进入mysql文件夹,并安装mysql

[root@NIWAY-190 mysql]#vi /etc/security/limits.conf
在文件最后面增加两行( PS:大于50000即可)
* hard nofile 65535
* soft nofile 65535
保存退出,重启服务器
这样就不会报以下两条错误
2023-01-09T04:49:35.679438Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2023-01-09T04:49:35.679461Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)


# 进入mysql
[root@NIWAY-190 local]# cd /usr/local/mysql
# 安装mysql
[root@NIWAY-190 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
2023-07-19T06:58:44.227868Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-07-19T06:58:45.611325Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-07-19T06:58:45.823016Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-07-19T06:58:45.897265Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b46da843-2601-11ee-bc4c-005056a31d81.
2023-07-19T06:58:45.900982Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-07-19T06:58:46.983476Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2023-07-19T06:58:46.983534Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2023-07-19T06:58:46.985279Z 0 [Warning] CA certificate ca.pem is self signed.
2023-07-19T06:58:47.768445Z 1 [Note] A temporary password is generated for root@localhost: ta7kRAjoGN=_

 注意ta7kRAjoGN=_为MYSQL的临时密码,下面登陆MYSQL的时候需要这个密码

九、设置开机启动
#设置开机启动
#创建systemctl 的对mysql服务的配置文件
vim /usr/lib/systemd/system/mysql.service

#下面为mysql.service文件内容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql


PIDFile=/usr/local/mysql/data/mysqld.pid

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid
#注意这里要加上 --daemonize
# Use this to switch malloc implementation
#EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 5000

Restart=on-failure

RestartPreventExitStatus=1

PrivateTmp=false
#上面为mysql.service文件内容

#重新加载开机服务
[root@NIWAY-190 mysql]# systemctl daemon-reload

#配置开机启动
[root@NIWAY-190 mysql]# systemctl enable mysql
Created symlink from /etc/systemd/system/multi-user.target.wants/mysql.service to /usr/lib/systemd/system/mysql.service.

#启动mysql服务
[root@NIWAY-190 mysql]# systemctl start mysql

#查看是否启动成功
[root@NIWAY-190 mysql]# systemctl status mysql


十、修改配置文件
# 进入/etc/profile文件夹
[root@NIWAY-190 mysql]# vi /etc/profile
修改/etc/profile,在最后添加如下内容
# 修改/etc/profile文件
#设置mysql的全局环境,这样直接输入mysql就行set mysql environment
export PATH=$PATH:/usr/local/mysql/bin
# 使文件生效
[root@NIWAY-190 mysql]# source /etc/profile


十一、修改mysql登陆密码
1)修改密码
[root@NIWAY-190 mysql]# mysql -uroot -p
Enter password: #第八步骤安装的自动生成的临时密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.42

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
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> set PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

2)验证新密码是否登录成功:
[root@NIWAY-190 mysql]# mysql -uroot -p
Enter password: #此处输入新密码‘123456’
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
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> show tables;
ERROR 1046 (3D000): No database selected
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

mysql>

十二、添加远程访问权限
# 添加远程访问权限
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
#查看表情况
mysql> select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
3 rows in set (0.00 sec)

#更新成远程可以登陆
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

#再次查看字段是否已经修改
mysql> select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | root |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+---------------+
3 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

十三、重启mysql生效
# 重启mysql
[root@NIWAY-190 mysql]# systemctl restart mysql

标签:5.7,root,mysql5.7,local,离线,190,NIWAY,mysql,安装
From: https://www.cnblogs.com/niway/p/17565694.html

相关文章

  • 关于用JS判断PC客户端是否安装某个软件的方法
    开发过程中,我们经常会碰到这样的需求:在web网页上,检测电脑上是否安装了某个软件。由于浏览器的安全机制,js没有办法通过浏览器去访问注册表信息,除非用浏览器扩展。 如果想在web网页中判断PC客户端是否安装了某个软件,可以试用标准的浏览器特性:检查浏览器是否支持自定义协议处理程......
  • docker安装mariadb
    第一次使用云服务器,发现存在权限问题。添加一个docker用户组将用户加入docker组刷新docker组拉取镜像查看镜像启动容器查看容器......
  • 编译安装redis6.2.13集群-哨兵模式
    下载并编译Redis虽然使用SLES15进行编译,但是理论上在其它系统上也是可行的,我们把编译所需要的依赖包安装即可。Redis我们选择6.2.13这个版本,我们先随便找个节点进行编译产生二进制文件#首先安装依赖包zypperref&&zypperinstallgccmakesystemd-devel#SLES/SUSEyu......
  • CentOS7中安装Mysql8并配置远程连接和修改密码等
    场景使用Vmware等虚拟机软件搭建CentOS7系统,需要在其上安装Mysql8版本数据库。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、去mysql官网手动下载rpm包并上传到服务器,或者直接通过wget进行下载wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-......
  • 编译安装最新的Pluto compiler,以及遇到的一些坑
    好久不见!这段时间在鼓捣一些奇奇怪怪的东西。PlutoCompiler是一款非常优秀的Polyhedral编译器。这玩意拿来优化循环和程序局部性啥的是相当好的。其安装过程涉及到整个llvm的编译过程,如果之前并没能够了解llvm的话估计会够呛,我也是基本上把坑踩了一个遍。所以干脆写篇博客给之......
  • docker compose安装MongoDB
    DockerCompose安装MongoDB简介在本文中,我将向你展示如何使用DockerCompose来安装MongoDB。DockerCompose是一个用于定义和运行多容器Docker应用程序的工具。通过编写一个YAML文件,可以轻松地定义和管理多个容器的配置。准备工作在开始之前,确保你已经安装了Docker和DockerCom......
  • django框架安装mysql
    Django框架安装MySQLMySQL是一种常见的关系型数据库管理系统,广泛用于开发Web应用程序。Django框架是一个高效、灵活的PythonWeb框架,它提供了与多种数据库管理系统集成的能力。本文将介绍如何在Django框架中安装和配置MySQL数据库。步骤一:安装MySQL首先,我们需要在本地机器上安装......
  • Ubuntu 22.04 Samba 安装和配置
    安装安装sudoaptinstallsamba检查服务状态systemctlstatussmbd--no-pager-l检查是否启用(开机自启动)systemctlis-enabledsmbd#enableitifinactivesystemctlenablesmbd配置(可选)添加用户sudousermod-aGsambashare[username]设置密码sudosmb......
  • docker-compose 国内用户安装
    DockerCompose国内用户安装DockerCompose是一个用于定义和管理多个Docker容器的工具。它允许用户通过一个单独的配置文件来定义应用程序的多个服务,并且可以使用简单的命令来启动、停止和管理这些服务。在国内,由于一些原因,使用DockerCompose可能会遇到一些问题。本文将介绍如何......
  • docker-compose 安装springboot
    DockerCompose安装SpringBoot在开发和部署SpringBoot应用程序时,使用DockerCompose是一个非常方便和高效的方法。DockerCompose可以帮助我们定义和运行多个Docker容器,从而简化了应用程序的部署过程。本文将介绍如何使用DockerCompose安装和运行一个简单的Spring......