当前位置:   article > 正文

从官方编译好的二进制文件安装MySQL 8_ubuntu18 二进制安装mysql8

ubuntu18 二进制安装mysql8

从官方二进制包安装MySQL

主要参考的是官方文档,https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html。系统是ubuntu18.04。libaxio使用apt安装的时候出现依赖问题,推测是之前手动安装的其他库不能被apt识别导致。我从这里(https://archlinux.pkgs.org/rolling/archlinux-core-x86_64/libaio-0.3.112-1-x86_64.pkg.tar.xz.html)下载了编译好的libaio文件,然后手动解压放到对应目录上了。

创建MySQL用户

按照官网的说明,需要新建一个用户mysql,所属用户组mysql

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
  • 1
  • 2

第二步参数是,-r创建一个系统账户,-g指定所属用户组,-s指定登陆Shell,/bin/false作为登陆Shell时,用户不能登陆系统,参考https://blog.csdn.net/zhangxinrun/article/details/5583540。

使用cat /etc/group可以在最后面看到有mysql用户组,cat /etc/passwd可以看到设置的用户和对应的登陆Shell信息,证明创建用户成功。

解压缩下载的MySQL

我下载的MySQL压缩包名称是mysql-8.0.17-linux-x86_64-minimal.tar.xz。官方说明的是解压安装位置是/usr/local,我自定义安装路径没有放在那个位置,而是把解压后的文件放在/opt/mysql-8-0-17

# pwd
/opt/mysql-8-0-17
# ls
bin   include  LICENSE         man     README.router  share          var
docs  lib      LICENSE.router  README  run            support-files
  • 1
  • 2
  • 3
  • 4
  • 5

目录/opt/mysql-8-0-17/bin通过编辑/etc/profile已经添加到了环境变量中,并且设置好已经能用了。

初始化数据

新建目录data用来保存数据,然后初始化:

bin/mysqld --auto-generate-certs -b 你的MySQL安装目录 -I
  • 1

这里会输出随机初始化的密码,需要记住。

正常启动和修改密码

接下来可以正常用守护进程方式启动数据库:

bin/mysqld -b 你的MySQL安装目录 -D -u mysql
  • 1

启动后root用户的密码是初始化时的随机密码,需要尽快修改用户的密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
  • 1

参考https://dev.mysql.com/doc/refman/8.0/en/default-privileges.html

后续维护和安全重启

脚本,可以自动启动、重启MySQL:

#!/bin/bash

cd /opt/mysql-8-0-17

# 安装和启动MySQL的几个参数(参数太多,找了几个本地安装时能用到的):
# --auto-generate-certs 如果需要自动生成SSL证书
# -b MySQL安装目录,别的用到的目录将是这个目录的相对路径
# -D 以sysv守护进程模式启动
# -d 指定数据库存储根目录
# -I 创建默认数据库,默认超级用户并将随机密码放在日志中,这个选项不能和-D一起出现,否则程序会自动退出
# -u 指定运行守护进程的用户
# --validate-config 验证配置文件的正確性
# 配置文件顺序:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf,当前配置文件在/etc/mysql/my.cnf
# 解压官方的二进制包后,第一次初始化(下面每个操作记得要把目录的所属用户设置为mysql):
# > mkdir -p 你的MySQL安装目录/data
# > bin/mysqld --auto-generate-certs -b 你的MySQL安装目录 -I
# 运行上面命令的时候注意终端的输出内容,里面包含了数据库超级用户的密码,需要记得否则后面登陆不了。
# 后续,正常启动MySQL时(这条命令将以后台方式自动执行):
# > bin/mysqld -b 你的MySQL安装目录 -D -u mysql

# 默认的,别的电脑可能不是这个路径
if [ -e /tmp/mysql.sock ]
then
    echo "MySQL shutdown"
    mysqladmin -p新的密码 -uroot shutdown
fi

echo "MySQL start"
/opt/mysql-8-0-17/bin/mysqld -b /opt/mysql-8-0-17 -D -u mysql

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/495032
推荐阅读
相关标签
  

闽ICP备14008679号