CentOS7环境下离线安装MySQL8.0.28数据库

环境说明

安装环境:CentOS7 64位

MySQL数据库版本:MySQL8.0.28

安装方式:离线安装(服务器环境没有外部网络)

这里需要说明一下安装方式,很多人为了方便可能直接使用yum源,省去了很多步骤,但是对于公司内部的服务器是不能连接外网的,因此这里就只能自己上传安装包安装啦。(如果你们公司有专业的DBA,无需自己弄,恭喜你不需要看这个博客啦!)

数据库下载

MySQL 8.0.28 Linux安装包下载:https://dev.mysql.com/downloads/mysql/

这个地址进入后就是最新的版本。

另外需要注意的是下载的时候需要注册oracle账号,如果有账号直接登录,没有就自己注册。版本选择如下:

  • 使用Red Hat Enterprise Linux
    Select Version:8.0.28
    Select Operating System:Red Hat Enterprise Linux / Oracle Linux
    Select OS Version:Red Hat Enterprise Linux 7 / Oracle Linux 7 (ARM, 64-bit)
    列表中下载:
    RPM Bundle:(mysql-5.7.35-el7-x86_64.tar.gz)
  • 使用Linux - Generic
    Select Version:8.0.28
    Select Operating System:Linux - Generic
    Select OS Version:Linux - Generic (glibc 2.12) (x86, 64-bit)
    列表中下载:
    Compressed TAR Archive:(mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz)【本文中使用的是这个版本8.0.28】

安装

查询并卸载系统自带的数据库:Mariadb

# 找到数据库mariadb,如果有会给出一个结果,结果是mariadb名称
rpm -qa | grep mariadb
# 如果存在就卸载
rpm -e --nodeps [mariadb名称]

创建用户和用户组

为了方便数据库管理,对于安装的MySQL数据库,生产上我们都会建立一个mysql用户和mysql用户组。

# 先检查mysql用户和用户组有没有被使用
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
# 添加mysql用户组
groupadd mysql
# 添加mysql用户并加入用户组
useradd -g mysql mysql
# 修改mysql用户的登陆密码(这里根据需要设置,可以略过)
passwd mysql

上传安装文件

上传部分不难,可以采用三种方式,一种是通过sftp,一种是通过rz命令上传,最后是使用scp命令来安装。这里采用scp,第一种需要在本地机器上安装sftp,本身是收费的需要破解;第二种是rz命令,这个要看远程服务器上安装此命名的支持,通过yum源安装很简单,执行yum -y install lrzsz即可,如果服务所在环境无法连接外网,那就要自己去找相关的安装包,麻烦。最终我是选择scp命令,不要安装插件。

scp D://softpackage/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz root@192.168.75.128:/usr/local/

获取安装包和修改名称

# 解压安装包,解压后即可直接使用
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
# 此时会生成一个目录mysql-8.0.28-linux-glibc2.12-x86_64,将其改名为mysql
mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql

目录授权操作

# 按照下面的操作执行
cd /usr/local/
chown -R mysql mysql/
chgrp -R mysql mysql/
cd mysql/
mkdir data
chown -R mysql:mysql data

配置文件的创建和配置信息

默认my.cnf这个配置文件是不存在的,需要创建,并且填入配置信息。另外需要修改/etc/profile文件内容。

# 创建my.cnf文件并编辑(使用vi或者vim)
vim /etc/my.cnf
  • 具体my.cnf配置信息:
[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld]
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid

#
# include all files from the config directory
  • 设置my.cnf文件的权限:
chown 777 /etc/my.cnf
  • 修改/etc/profile文件:
# 修改profile文件
vim /etc/profile
# 在文件尾部追加下面的内容
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
# 保存/etc/profile,并应用此文件
source /etc/profile

安装数据库

进入/usr/local/mysql/bin/目录下,执行安装操作。

# 此命令执行成功后,打印的最后一行日志末尾会给出MySQL数据库访问的默认密码,需要注意记录一下
./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize

注意事项:在执行此命令的时候一定要完成上面的所有步骤,在MySQL8的安装时lower_case_table_names参数必须在安装前配置完成,否则在启动MySQL的时候出现Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 错误

复制mysql.server文件

# 复制mysql.server文件到/etc/init.d/目录
cp -a ./support-files/mysql.server /etc/init.d/mysql 
cp -a ./support-files/mysql.server /etc/init.d/mysqld
# 目录授权
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

检查socket文件目录是否创建

进入到/var/lib/目录下,检查是否有mysql目录,如果没有则创建,并进行权限的修改,如果有需要检查权限,如不符合要求则进行修改,具体修改命令如下:

# 创建/var/lib/下的mysql目录
mkdir /var/lib/mysql/
# 赋予权限
chown -R mysql:mysql /var/lib/mysql

mysql服务操作命令

# 启动
service mysql start
# 重启
service mysql restart
# 关闭
service mysql stop

配置远程访问权限

  • 修改密码
# 登录到数据库中,执行语句如下
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
# 操作结束后,通过exit命令退出,然后重新登录,验证修改的密码是否生效
  • 修改远程访问权限
-- 登录数据
-- 切换到mysql数据库
use mysql;
-- 更新权限
update user set host='%' where user = 'root';
-- 查询一下是否修改成功
select host,user from user;
-- 结果如下表示成功,root用户的host已经修改为'%'
--+-----------+---------------+
--| host      | user          |
--+-----------+---------------+
--| %         | root          |
--| localhost | mysql.session |
--| localhost | mysql.sys     |
--+-----------+---------------+
-- 上面的修改结束后,退出数据库,重启数据库服务生效
service mysql restart
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1. 下载MySQL安装包 在官网上下载MySQL安装包,选择适合自己系统的版本。在下载时需要注意,一定要选择离线安装包,否则在安装时会自动联网下载依赖包,导致无法离线安装。 2. 安装MySQL 将下载好的MySQL安装包上传到CentOS服务器上,解压后进入解压后的文件夹,执行以下命令: ``` yum install -y mysql-community-common-xxx.rpm yum install -y mysql-community-libs-xxx.rpm yum install -y mysql-community-client-xxx.rpm yum install -y mysql-community-server-xxx.rpm ``` 以上命令分别安装MySQL依赖库、客户端和服务端。 3. 启动MySQL服务 执行以下命令启动MySQL服务: ``` systemctl start mysqld ``` 4. 配置MySQL MySQL安装完成后,需要对其进行配置,首先需要重置MySQL的root密码,命令如下: ``` mysql_secure_installation ``` 然后根据提示进行操作,其中需要注意的是,需要设置一个新的root密码,并且在后面的操作中需要使用这个密码。 5. 连接MySQL MySQL安装完成后,可以使用以下命令连接MySQL: ``` mysql -u root -p ``` 其中,-u表示用户名,-p表示密码,这里需要输入设置的root密码。 6. 验证MySQL 连接MySQL成功后,可以使用以下命令验证MySQL是否正常运行: ``` show databases; ``` 以上命令会列出所有的数据库,如果没有出现错误,则说明MySQL已经成功安装。 以上就是CentOS 7离线安装MySQL数据库的详细步骤,希望能够对大家有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿洞晓

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

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

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

打赏作者

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

抵扣说明:

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

余额充值