linux下安装MySQL

本文详细介绍了在CentOS7.9系统上安装MySQL8.0.23的步骤,包括下载、解压、创建用户、初始化、启动、设置权限以及解决启动问题。在安装过程中,强调了配置文件的修改和启动脚本的调整,还涉及了如何修改初始密码和处理启动错误。
摘要由CSDN通过智能技术生成

1.安装环境

linux: centos 7.9
MySQL: 8.0.23
安装目录: /opt/mysql (任一目录都可)

附上MySQL官网的下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads,进去之后的界面如下,点击"Archives"标签页可以选择不同的版本,本文选择的是 mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
在这里插入图片描述

2.安装mysql

软件下载之后,还需要通过ftp等工具传输到目标主机。传输完成后就能进行安装操作,下面是具体步骤

1.首先需要将软件解压到某一目录下(目录可以任意指定)

tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz -C /opt/ #解压到/opt/目录下
cd /opt/ #进入解压目录
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql #将解压出来的安装包重命名为mysql,如果名字太长的话后面就不好操作,建议重命名一下
  1. 创建一个普通用户。实际上并不需要登录该用户,它主要是用来给mysql软件的安装目录赋权。因为mysql是通过bin/mysqld这个自带的脚本来进行初始化,该脚本会要求指定某个用户来进行安装。而现在登录的是root用户(一般不用root安装软件),所创建文件的属主都是root用户,为了mysql的脚本在安装的时候能以普通用户的权限安装mysql,所以需要创建一个普通用户mysql,且需要手动的将mysql的安装路径赋为mysql。赋权操作如下:
groupadd mysql #创建mysql用户组
useradd -r -g mysql mysql #创建mysql用户,且用户mysql属于mysql用户组
chown -R mysql:mysql /opt/mysql #赋予mysql文件夹mysql权限

3.安装mysql

需要注意的是,mysql刚开始安装的时候需要指定是否忽略大小写,因为一旦安装成功之后,就无法再修改该策略了。该策略也很简单。只需要在mysql初始化的命令后加上参数 --lower-case-table-names=1 。

cd /opt/mysql8.0.23
bin/mysqld --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data/ --initialize --lower-case-table-names=1

如果以前没有安装过的话,基本都能初始化成功(基本的依赖都存在的话网上说可能需要先下载某些依赖包,本文的操作系统并没有进行过任何环境的更新,但是并没有出现缺少依赖的情况,所以对于这种情况,本文不阐述),成功之后的界面如下,红框内的字符串为mysql的登录密码,最好复制此处的密码,后面登录的时候会使用到。如果安装不成功的话,可能是因为以前安装过msyql,或者安装目录有残留,可以参考下面的4.5进行解决。
4.启动mysql

初始化mysql之后,mysql并不会自动启动,需要手动启动。
本文启动mysql使用的是mysql自带的脚本文件/opt/mysql/support-files/mysql.server,由于脚本会指定安装路径,所以需要在启动之前改成我们安装包所在的路径。/opt/mysql/support-files/mysql.server需要更改的主要是文件中的第66行到第73行:

 62 # Set some defaults
 63 mysqld_pid_file_path=
 64 if test -z "$basedir"
 65 then
 66   basedir=/opt/mysql
 67   bindir=/opt/mysql/bin
 68   if test -z "$datadir"
 69   then
 70     datadir=/opt/mysql/data
 71   fi
 72   sbindir=/opt/mysql/bin
 73   libexecdir=/opt/mysql/bin
 74 else
 75   bindir="$basedir/bin"
 76   if test -z "$datadir"
 77   then
 78     datadir="$basedir/data"
 79   fi
 80   sbindir="$basedir/sbin"
 81   libexecdir="$basedir/libexec"
 82 fi

在启动mysql的时候,启动脚本也会去/etc/my.cnf的配置文件下去取参数,所以启动之前也需要改/etc/my.cnf配置文件中的部分参数。

  1 [mysqld]
  2 datadir=/opt/mysql/data  #
  3 socket=/opt/mysql/mysql.sock
  4 # Disabling symbolic-links is recommended to prevent assorted security risks
  5 symbolic-links=0
  6 # Settings user and group are ignored when systemd is used.
  7 # If you need to run mysqld under a different user or group,
  8 # customize your systemd unit file for mariadb according to the
  9 # instructions in http://fedoraproject.org/wiki/Systemd
 10
 11 lower-case-table-names=1 #忽略大小写
 12
 13 [mysqld_safe]
 14 log-error=/opt/mysql/data/err.log #日志文件的位置
 15 pid-file=/opt/mysql/data/mariadb.pid #pid文件的位置
 16
 17 [client]
 18 socket=/opt/mysql/mysql.sock //客户端登录的配置
 19
 20 #
 21 # include all files from the config directory
 22 #
 23 !includedir /etc/my.cnf.d

/etc/my.cnf中的配置比较重要,如果配置的不对,可能会导致安装不成功。安装过程中出现的错误,贴在文后,如果出现了相似的错误可以参考一下。

在确认修改完以上两个文件后,就可以启动mysql了

 ./support-files/mysql.server start #mysql启动命令

启动成功之后的界面如下:
在这里插入图片描述
也可以使用 ./support-files/mysql.server status 查看mysql的状态
在这里插入图片描述
mysql启动成功之后,可以使用mysql安装包自带的脚本(/binmysql)进入mysql

bin/mysql -uroot -p'一开始出现的密码'

在这里插入图片描述
由于mysql命令会经常用到,可以将bin/mysql链接到系统默认的/usr/bin路径下

ln -s /opt/mysql/bin/mysql /usr/bin
bin/mysql -uroot -p一开始出现的密码

3.验证

进入mysql之后,输入 show databases 会出现如下错误:
在这里插入图片描述
这是因为第一次登录时mysql要求强制改密码,使用如下命令修改mysql的初始密码

alter user 'root'@'localhost' identified by "你的新密码";

修改密码之后就可以正常的使用mysql了。
在这里插入图片描述

4.错误

MySQL安装过程中出现的诸多错误,记录在下一篇博客中,mysql安装错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值