Linux安装MySQL的详细图文教程

前言

MySQL是一种关系型数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

一、下载mysql安装包地址

选择对应的包 mysql 8.X(因为我装的系统是debian系统所以我选择的是对应的版本)

mysql离线安装链接 :https://downloads.mysql.com/archives/community/

Linux安装MySQL的详细图文教程

下载好后传到服务器中

二、环境准备

1、查看是否已经安装 Mysql

# 如果没有什么返回信息,说明没有安装 Mysql
rpm -qa | grep mysql

2、清空 /etc/ 目录下的 my.cnf

执行以下命令删除 my.cnf 文件:

rm -rf /etc/my.cnf

3、删除 mariadb

使用 yum 命令删除 mariadb:

# 卸载mariadb,mariadb和mysql一起安装会有冲突,所以需要卸载掉
rpm -qa | grep mariadb
yum -y remove mariadb

4、清空带有 mysql 的所有文件:

使用 find 命令查找并删除所有包含 mysql 的文件:

find / -name "*mysql*" -exec rm -rf {} \;

5、检查并安装依赖库

查看是否安装了 MySQL 依赖库 libaio,如果没有安装则进行安装:

yum list installed |grep libaio

若未安装,执行以下命令安装:

yum -yinstall libaio

6、 解压 MySQL 压缩包并更名

解压 MySQL 压缩包:

tar xvJf mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz

附注:tar 命令参数解释:

-x:解开已有的归档文件 -v:显示详细的过程 -J:使用 xz 压缩或解压归档文件 -f:指定归档文件名

重命名解压后的文件夹:

mv mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz mysql-8.0.42

Linux安装MySQL的详细图文教程

创建 data 文件夹:

mkdir /data/mysql/data 
mkdir /data/mysql/logs

7. 创建 mysql 组和用户

由于MySQL 8出于安全性考虑默认不支持使用 root 用户直接启动 mysqld 服务

# 创建 mysql 组groupadd mysql
# 创建 mysql 用户useradd-g mysql mysql

添加权限:

chmod +x chown-R mysql:mysql -R /opt/module/mysql-8.0.42/ /data/

三、设置 MySQL 配置文件 my.cnf

使用 vim 编辑器打开并编辑 /etc/my.cnf 文件:

vim /etc/my.cnf

配置内容如下:

[mysqld]# 设置 MySQL 服务监听端口,默认 3306port=3306# 设置 MySQL 服务器绑定的 IP 地址,可以设置为自己本机 IP
bind-address=0.0.0.0
# 设置 MySQL 数据库用户user=mysql
# 数据库文件路径basedir=/opt/module/mysql-8.0.42
# 数据库数据目录,存储数据库文件的路径datadir=/data/mysql/data
# 设置 MySQL 服务器使用的套接字文件路径socket=/data/mysql/mysql.sock
# datadir=/var/lib/mysql# socket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0# 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# 设置每个连接的默认字符集character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
lower_case_table_names =1# 配置 MySQL 的自动扩展参数innodb_autoextend_increment=64
log-error=/data/mysql/logs/mysql.log
pid-file=/data/mysql/mysql.pid
[mysqld_safe]# 设置指定存放进程 ID 的文件
log-error=/data/mysql/logs/mysql.log
pid-file=/data/mysql/mysql.pid
# log-error=/var/log/mariadb/mariadb.log# pid-file=/var/run/mariadb/mariadb.pid[client]socket=/data/mysql/mysql.sock
## include all files from the config directory## !includedir /etc/my.cnf.d

四、Mysql 初始化

Linux 中的 MySQL 默认是区分表名大小写的,如果你安装的是 MySQL 8,需要在数据库初始化时设置不区分大小写,否则初始化后在配置文件中设置并重启时会报错。

使用 mysqlbin 下面的 mysqld 脚本进行初始化:

/opt/module/mysql-8.0.42/bin/mysqld --initialize--user=mysql --basedir=/opt/module/mysql-8.0.42 --datadir=/data/mysql/data

判断是否初始化成功:

Linux安装MySQL的详细图文教程

设置 ssl 安全加密连接

# 进入mysql根目录
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data

五、启动并登录 MySQL,设置 MySQL 开机自启动

1、复制 MySQL 自带的 mysql.server 脚本为 mysqld 并放到 /etc/init.d/

cp /opt/module/mysql-8.0.42/support-files/mysql.server /etc/init.d/mysqld
# 一下都要执行chmod +x /etc/init.d/mysqld
chkconfig--add mysqld
chkconfig mysqld on
systemctl daemon-reload

这个脚本是 MySQL 官方专门提供的启动脚本,适配各种 init 系统。

注意:文件名一定要叫 mysqld,systemd 才会识别并包装为 mysqld.service

2、启动服务

systemctl start mysqld
# 查看状态
systemctl status mysqld

3、登录 mysql

/opt/module/mysql-8.0.42/bin/mysql -u root -p

密码就是刚刚初始化成功的密码 ,在/data/mysql/logs日志文件中

登录成功后会提示你重置密码,修改密码:

ALTER USER'root'@'%' IDENTIFIED BY '123456';#或允许所有 IP(开发测试可用,生产建议限制 IP)
FLUSH PRIVILEGES;      # 刷新 

退出:

quit

重启服务:

systemctl restart mysqld

再次登陆:

/opt/module/mysql-8.0.42/bin/mysql -u root -p

输入刚修改的密码,按回车键。到此,MySQL 已经安装完成…毕业了!!!

以上就是【Linux】Linux安装MySQL详细图文教程的详细内容,更多相关资料请阅读主机测评网其它文章!

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/3040.html

(0)
admin的头像admin
上一篇 2025年8月9日 上午12:00
下一篇 2025年8月11日 上午12:00

相关推荐

  • Linux流量监控工具iftop

    在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用i…

    2018年11月12日
    000
  • CentOS 7.4搭建本地Yum仓库

    系统环境: 操作系统:CentOS Linux release 7.4.1708 (Core) 服务器IP:192.168.8.23 客户端IP:192.168.8.24 1)修改…

    2019年7月24日
    000
  • Linux进程信号的捕捉处理指南

    一、信号捕捉处理的概述 1、信号捕捉处理全过程 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号,这个我们前面说过,但是我们的过程是比较复杂的,首先我…

    2025年8月16日
    000
  • Linux磁盘性能分析

    读写IO(Read/Write IO)操作 磁盘是用来给我们存取数据用的,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据时候对应的是写IO操作,取数据的时候对应的是是读…

    2018年11月12日
    000
  • linux自动化交互脚本expect详解

        expect脚本是Tcl脚本语言的拓展。用来实现自动的交互式任务,无需人为干预。在实际开发中,运行shell脚本有时候会输入linux密码或者是mysq…

    2024年8月19日
    000
  • Linux搭建SVN服务器

    一、什么是SVN? SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。 运行方式: SVN…

    2018年8月23日
    000
  • Rsync+Inotify实时同步文件

    摘要 在企业日常web应用中,某些特殊的数据需要要求保持跟服务器端实时同步,那我们该如何来配置呢?如何来实现呢?这里可以采用rsync+inotify来实现需求。 Inotify简…

    2017年12月17日
    000
  • Nginx开启php-fpm状态页及状态详解

    说明 php-fpm和nginx一样,内建了个状态页,可以通过该状态页了解监控php-fpm的状态。 1、开启开启 php-fpm 状态页 #找到php的安装目录下的www.con…

    2019年7月1日
    000
  • Linux必备命令(三)

    一、echo命令 echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value…

    2017年12月14日
    000
  • Linux性能分析工具vmstat

    1、vmstat简介 vmstat(Virtual Memory Statistics 虚拟内存统计) 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系…

    2019年6月5日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注