Linux安装MySQL8.0.40详情(保姆级教程)

1.卸载mariadb

        在 Linux 系统中,如果已经安装了 MariaDB,并且想要安装 MySQL,需要先卸载 MariaDB 以避免冲突。

       先列出MariaDB相关的包:

rpm -qa | grep mariadb

        卸载列出的包:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

        rpm -e --nodeps 后跟包名的形式进行卸载


        如果运行代码 rpm -qa | grep mariadb 后输出类似以下结果:

mariadb-libs-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64

        则需要卸载每个包:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-5.5.56-2.el7.x86_64


        检查是否卸载成功:

rpm -qa | grep mariadb

无任何返回值,则表示卸载成功

2.下载MySQL安装包

        首先查看系统版本

        rpm -qa | grep glibc

                glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。

        根据自己系统的版本在官网(MySQL :: Download MySQL Community Server)下载对应安装包

3.上传至Linux

        在/usr/local/目录下创建安装目录(推荐安装在/usr/local/下)

mkdir /usr/local/mysql

cd /usr/local/mysql/


    服务器有网的情况下也可以直接在刚才创建好的目录/usr/local/mysql/下使用这条命令直接下载(使用wget下载时,确保yum install -y wget 安装了wget) ,下载完成后随后解压就可以了。

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-x86_64.tar.xz


      我用的CRT进行上传的,上传至刚才创建好的文件夹即可。

        ls 一下就可以看见上传的文件

4.解压MySQL安装包

 tar -xvf mysql-8.0.40-linux-glibc2.17-x86_64.tar.xz

        解压后改个简单的名字:

mv mysql-8.0.40-linux-glibc2.17-x86_64 mysql8

5.创建存储初始化数据目录

        cd到mysql解压后的目录中:

       cd /usr/local/mysql/mysql8

        创建对应目录:

mkdir data

6.创建 MySQL 用户和用户组并设置目录权限

        创建用户和用户组:

groupadd mysql

useradd -g mysql mysql

groupadd mysql:创建一个名为 mysql 的用户组,以便于管理 MySQL 用户。

useradd -g mysql mysql:创建一个名为 mysql 的用户,并将其添加到 mysql 用户组,以提高安全性。

        设置目录权限:

 chown -R mysql:mysql /usr/local/mysql/mysql8
 chmod 750 /usr/local/mysql/mysql8/data

chown -R mysql:mysql /usr/local/mysql/mysql8:递归地将 MySQL 安装目录的所有权更改为 mysql 用户和用户组。

chmod 750 /usr/local/mysql/mysql8/data:设置数据目录的权限为 750,表示所有者有读、写、执行权限,组用户有读和执行权限,其他用户无权限。

        查看权限:ls -l

7.创建配置文件

   MySQL所需的配置文件放在/etc下叫my.cnf(原本没有,直接创建)

vim /etc/my.cnf

         my.cnf中写入内容:

[mysqld]
bind-address=0.0.0.0  # 允许从任何 IP 地址连接
port=3306              # MySQL 默认端口
user=mysql             # 运行 MySQL 的用户
basedir=/usr/local/mysql/mysql8  # MySQL 安装根目录
datadir=/usr/local/mysql/mysql8/data  # 数据存储目录

[mysqld_safe]
socket=/usr/local/mysql/mysql8/data/tmp/mysql.sock  # socket 文件路径
log-error=/usr/local/mysql/mysql8/data/error/mysql.log  # 错误日志路径
pid-file=/usr/local/mysql/mysql8/data/RR.pid  # 进程 ID 文件路径

character_set_server=utf8mb4  # 设置服务器字符集为 utf8mb4
symbolic-links=0              # 是否支持符号链接
explicit_defaults_for_timestamp=ON  # 时间戳处理模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION  # SQL 模式设置
lower_case_table_names=1      # 忽略表名大小写

[client]
default-character-set=utf8mb4   # 客户端默认字符集
socket=/usr/local/mysql/mysql8/data/tmp/mysql.sock  # 客户端 socket 文件路径

8.创建 MySQL 服务

        将 MySQL 服务脚本复制到 /etc/init.d/

cp -a /usr/local/mysql/mysql8/support-files/mysql.server /etc/init.d/mysql

        授权并添加服务:

给服务脚本执行权限

chmod +x /etc/init.d/mysql

将 MySQL 服务添加到系统管理工具中

chkconfig --add mysql

列出 MySQL 服务的状态

chkconfig --list mysql

  • 0 - 关机状态
  • 1 - 单用户模式(通常用于维护)
  • 2 - 多用户模式(不含网络)
  • 3 - 完整的多用户模式(含网络)
  • 4 - 自定义(较少使用)
  • 5 - 多用户模式加图形界面
  • 6 - 重启

9.初始化MySQL

cd /usr/local/mysql/mysql8/bin

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql8 --datadir=/usr/local/mysql/mysql8/data/ --initialize


  • ./mysqld:指向 MySQL 服务器的可执行文件。通常位于 MySQL 安装目录中的 bin 子目录下,比如 /usr/local/mysql/mysql8/bin/mysqld

  • --user=mysql:指定以 mysql 用户的身份运行 MySQL 服务器。这是为了确保 MySQL 进程具有适当的文件权限,特别是对于数据目录的读写权限。

  • --basedir=/usr/local/mysql/mysql8:指定 MySQL 的安装根目录。MySQL 将根据此路径找到二进制文件和其他相关资源(如 share 目录中的支持文件)。

  • --datadir=/usr/local/mysql/mysql8/data/:指定 MySQL 的数据存储目录。在初始化过程中,MySQL 会在此目录下创建系统数据库和必要的文件,以便 MySQL 服务能够正常运行。

  • --initialize:执行初始化操作。这会在指定的数据目录中创建 MySQL 系统表和其他必要的系统文件,此外还会生成一个随机的 root 初始密码。注意,该操作只能在数据目录为空时运行。


10.创建MySQL数据文件

        创建用于存储 MySQL 数据的目录,包括数据文件、错误日志和临时文件目录,这些目录能够管理和故障排查

mkdir -p /usr/local/mysql/mysql8/data/error
chown -R mysql:mysql /usr/local/mysql/mysql8/data/error
chmod 755 /usr/local/mysql/mysql8/data/error

touch /usr/local/mysql/mysql8/data/error/mysql.log
chown mysql:mysql /usr/local/mysql/mysql8/data/error/mysql.log
chmod 644 /usr/local/mysql/mysql8/data/error/mysql.log

chown -R mysql:mysql /usr/local/mysql/mysql8/data
chmod -R 755 /usr/local/mysql/mysql8/data

mkdir -p /usr/local/mysql/mysql8/data/tmp
chown -R mysql:mysql /usr/local/mysql/mysql8/data/tmp
chmod 755 /usr/local/mysql/mysql8/data/tmp

 永久关闭防火墙

vim /etc/selinux/config

11.启动MySQL数据库

service mysql start

查看进程

ps -ef|grep mysql

启动成功没有问题

12.修改数据库密码

mysql -uroot -p

将刚才初始化的密码输入进去

输入修改命令(我修改的密码是123456)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

刷新一下权限并退出

flush privileges;

quit

重启数据库

service mysql restart

13.设置远程登录数据库

新密码登录

查看数据库

远程登录设置

UPDATE user SET host='%' WHERE user='root';

        更新 MySQL 数据库中 mysql 库的 user 表,将 root 用户的 host 字段设置为 %,意味着 root 用户可以从任何主机连接到 MySQL 服务。% 是 MySQL 中的通配符,表示任何 IP 地址。

14.远程连接验证

使用navicat远程连接可以连接;

MySQL 8.0是一款流行的开源关系型数据库管理系统。以下是MySQL 8.0保姆安装教程: **步骤1:下载MySQL** 首先,访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/)下载适合您操作系统的版本。推荐下载二进制安装包,因为包含了所有依赖。 **步骤2:运行安装脚本** 解压下载的文件,进入目录,通常会看到`mysql-community-server-8.0.x.x-linux-gnu.tar.gz`这样的文件。打开终端,输入命令行如下: ```sh sudo sh mysql-community-server-8.0.x.x-linux-gnu/scripts/mysql_install_db --user=root --basedir=([安装路径]) --datadir=([数据路径]) ``` 将 `[安装路径]` 和 `[数据路径]` 替换为实际的安装目录和数据存储位置,比如 `/usr/local/mysql` 和 `/var/lib/mysql`。 **步骤3:配置启动选项** 编辑MySQL的配置文件 `my.cnf` (默认在 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`),根据需要设置监听地址、最大连接数等。例如,添加 `bind-address = 0.0.0.0` 让MySQL监听所有IP。 **步骤4:启动服务** ```sh sudo systemctl start mysqld ``` 检查是否成功启动: ```sh sudo systemctl status mysqld ``` **步骤5:安全初始化** 首次启动时,MySQL会提示你设置root用户的密码。这是非常重要的一步,务必妥善保管。 **步骤6:创建新用户和服务账户** 如果计划让系统用户定期备份或管理数据库,可以创建新的MySQL用户并给予适当权限。 **步骤7:防火墙设置** 允许外部访问,如果是Linux,可以启用防火墙规则以允许特定端口(默认3306)通信。 **步骤8:设置自动启动** 为了每次系统启动时自动运行MySQL,可以使用以下命令: ```sh sudo systemctl enable mysqld ``` **相关问题--:** 1. 如何通过命令行查看MySQL状态? 2. 如何更改MySQL root用户的密码? 3. 安装过程中如何处理错误或问题?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值