Linux - MySQL安装

本文由于是学习,所以使用tar包安装,Linux版本CentOS8,MySQL8,本次安装路径为/usr/local/mysql

下载&准备

官方下载地址注意选择对应的系统以及版本,本人选择的这个版本是通用的版本。

在这里插入图片描述
下载后将文件上传至Linux上面,使用mv命令移动至下面文件里面。
在这里插入图片描述

按照下面命令获取到文件里面的东西,上面为我自己操作的路径。

yum install -y libaio         # 安装所需依赖
xz -d mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz   # 解压xz文件,解压出来后是tar文件
tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar   # 解压tar文件
rm -rf mysql-8.0.27-linux-glibc2.12-x86_64.tar     # 删除安装包
ln -s mysql-8.0.27-linux-glibc2.12-x86_64/ mysql8  # 创建一个软连接,原名太长不方便
mkdir log    # 创建一个log文件夹,以后使用
mkdir data   # 创建一个存放数据库数据的文件夹,之后使用
touch /usr/local/mysql/log/mysql.log   # 创建一个log文件
chmod +777 /usr/local/mysql/log/mysql.log    # 给这个log文件权限

配置

配置MySQL,大部分使用默认配置即可

vim /etc/my.cnf   # 创建文件,并进行MySQL的配置

# 以下为文件里面的配置
[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql/mysql8
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 日志文件
log-error=/usr/local/mysql/log/mysql.log
# 设置最大连接数
max_connections=500
# 配置表名不区分大小写 1:不区分大小写 0:区分大小写  这行必须配置 默认表名是区分大小写的,不利于开发
lower_case_table_names=1
# 设置为默认编码为utf8
character-set-server=utf8mb4

在这里插入图片描述

cd /usr/local/mysql/mysql8/bin/   # 进入MySQL文件
./mysqld --initialize --console --user=root   # 初始化MySQL
cat /usr/local/mysql/log/mysql.log     # 查看MySQL默认的密码

在这里插入图片描述
配置用户

groupadd mysql   # 创建MySQL组
useradd -r -g mysql mysql   # 创建MySQL用户
chown -R mysql.mysql /usr/local/mysql/data/   # 配置MySQL用户访问此文件的权限

优化启动

cp /usr/local/mysql/mysql8/support-files/mysql.server /etc/init.d/mysql   # 将启动文件复制到此文件中
chmod +x /etc/init.d/mysql   # 添加可执行权限
chkconfig --add mysql        # 注册启动服务(配置systemctl)
chkconfig --list             # 查看是否注册上

在这里插入图片描述
这样的话就可以使用systemctl命令进行启动了

ln -s /usr/local/mysql/mysql8/bin/mysql /usr/bin/  # 建立软连接,在系统中增加mysql指令  (配置快捷方式)
systemctl start mysql    # 使用systemctl命令启动MySQL,此处如果启动不了检查/tmp/目录下sock文件,将MySQL有关的都删除
systemctl status mysql   # 查看MySQL的状态
mysql -u root -p   # 启动MySQL,此处报错

mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
在这里插入图片描述
解决

ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

进入MySQL后

问题:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
在这里插入图片描述
解决:
此处需要重置密码

alter user user() identified by "nKW=?rQDj6%<5";   # 重置密码
create user 'root'@'%' identified by "nKW=?rQDj6%<5";   # 创建一个远程账户 ‘%’
grant all on *.* to 'root'@'%';   # 权限分配
FLUSH PRIVILEGES;   # 权限刷新

这时可以使用图形化界面连接了,如果出现Authentication plugin ‘caching_sha2_password’ cannot be loaded的错误,请查看这篇文章,我的navicat版本是15所以不会出现这种情况。

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘x.x.x.x:3306’ (113)

如果出现以上问题,请仔细检查自己的防火墙是否关闭firewalld,如果是云服务器需检查服务器控制台是否开启3306端口,同时注意关闭firewalld

自动化

本人将以上的所有命令与shell文件结合制作了一个自动安装的脚本,此脚本先清理本身的mysql然后再安装自己的,不过还是需要下载MySQL包的,看上面的流程先将MySQL下载上传到Linux上面,然后将脚本放在和MySQL包一个目录下面。
在这里插入图片描述
下面为执行自动化脚本的输出,资源下载
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

week@eight

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

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

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

打赏作者

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

抵扣说明:

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

余额充值