M y SQ L 安装
在MySQL 官⽹下载对应的版本,常⽤的安装包是⼆进制包(Linux-Generic)和源码包(Source Code)
glibc 指的是编译MySQL 的glibc 版本,可以通过 l dd 命令查看
下载MySQL
$ ldd  --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35Copyright (C) 2022 ⾃由软件基⾦会。
这是⼀个⾃由软件;请⻅源代码的授权条款。本软件不含任何没有担保;甚⾄不保证适销性或者适合某些特殊⽬的。
由 Roland McGrath 和 Ulrich Drepper 编写。
123456
Bash
MySQL8.0⼆进制包的安装
基于⼆进制包的安装
创建操作系统⽤户
解压⼆进制包,建⽴软链接
编辑配置⽂
$ sudo  groupadd mysql
$ sudo  useradd -g  mysql mysql
123
Bash
# 解压到指定的⽬录下
$ sudo  tar xvf mysql-8.0.33-linux-glibc2.28-x86_  -C  /usr/local # 建⽴软链接
$ sudo  ln  -s  mysql-8.0.33-linux-glibc2.28-x86_64/ mysql
12345
Bash
创建数据⽬录
初始化实例
$ sudo  vim  /etc/myf
>>>>###[client]# 套接字
socket    = /data/mysql/3306/data/mysql.sock
[mysqld]
# mysql 安装⽬录
basedir    = /usr/local/mysql # 数据⽬录
datadir    = /data/mysql/3306/data # 运⾏⽤户
user      = mysql # 监听端⼝
port      = 3306
socket    = /data/mysql/3306/data/mysql.sock # 错误⽇志
log_error  = /data/mysql/3306/
# 设置⽇志时间戳的时区,默认是UTC ,这⾥设置system ,使⽤系统的时区设置log_timestamps = system >>>>###
12345678910111213141516171819202122
$ sudo  mkdir  -p  /data/mysql/3306/data
$ sudo  chown  sql /data/mysql/3306/data/
123
Bash
报错 /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
启动实例
$ sudo  /usr/local/mysql/bin/mysqld  --defaults-file =/etc/myf --initializ e
# --defaults-file  参数⽂件的路径# --initialize 初始化实例并⽣成密码
# --initialize-insecure 初始化实例但不⽣成密码
12345
# ubuntu
$ sudo  apt install libaio-dev
# centos
yum install libaio
12345
Bash
启动失败定位步骤
数据⽬录中的⽂件
$ sudo  /usr/local/mysql/bin/mysqld_safe --defaults-file =/etc/myf &
# 查看启动是否成功⽅式⼀
$ sudo  cat  /data/mysql/3306/ .....
2023-06-16T21:22:52.334364+08:00 0 [System] [MY-010931] [Server] /usr/loca l/mysql/bin/mysqld: ready for  connections. Version: '8.0.33'  socket: '/da ta/mysql/3306/data/mysql.sock'  port: 3306  MySQL Community Server - GPL.
# 查看启动是否成功⽅式⼆$ ps  aux | grep  mysqld
root      213152  0.0  0.0  2888  1872 pts/1    S    21:22  0:00 /bin/s h /usr/local/mysql/bin/mysqld_safe --
defaults-file =/etc/myf
mysql    213303  1.9 10.0 1752060 398360 pts/1  Sl  21:22  0:02 /usr/lo cal/mysql/bin/mysqld --defaults-file =/etc/myf --basedir =/usr/local/mysq l --datadir =/data/mysql/3306/data --plugin-dir =/usr/local/mysql/lib/plugi n --user =mysql --log-error =/data/mysql/3306/ --pid-file =Doc ker.pid --socket =/data/mysql/3306/data/mysql.sock --port =3306
123456
7891011
12
# 1. 查看错误⽇志,常⻅错误#    端⼝被占⽤#    参数名写错
#    参数在当前版本不⽀持
# 2. 通过mysqld 启动
$ sudo  /usr/local/mysql/bin/mysqld --defaults-file =/etc/myf &
# 3. 通过mysqld 启动,指定必要参数。使⽤--no-defaults 避免读取默认位置配置⽂件
$ sudo  /usr/local/mysql/bin/mysqld --no-defaults  --basedir =/usr/local/mysq l --datadir =/data/mysql/3306/data/ --user =mysql
12345678910
Bash
安装mysql初始化数据库失败$ ll  /data/mysql/3306/data/总计 90592
drwxr-xr-x 7 mysql mysql    4096  6⽉ 16 21:22  ./drwxr-xr-x 3 root  root      4096  6⽉ 16 15:27  ../
-rw-r----- 1 mysql mysql      56  6⽉ 16 21:15  autof    # 记录实例的ser ver-uuid
-rw-r----- 1 mysql mysql      157  6⽉ 16 21:22  binlog.000001  -rw-r----- 1 mysql mysql      16  6⽉ 16 21:22  binlog.index -rw------- 1 mysql mysql    1680  6⽉ 16 21:15  ca-key.pem -rw-r--r-- 1 mysql mysql    1112  6⽉ 16 21:15  ca.pem
-rw-r--r-- 1 mysql mysql    1112  6⽉ 16 21:15  client-cert.pem # 与RSA 相关的证书⽂件及私钥⽂件,⽤于开启SSL 加密连接
-rw------- 1 mysql mysql    1680  6⽉ 16 21:15  client-key.pem -rw-r----- 1 mysql mysql        7  6⽉ 16 21:22  Docker.pid
-rw-r----- 1 mysql mysql  196608  6⽉ 16 21:24 '#ib_16384_0.dblwr'-rw-r----- 1 mysql mysql  8585216  6⽉ 16 21:15 '#ib_16384_1.dblwr'
-rw-r----- 1 mysql mysql    5632  6⽉ 16 21:16  ib_buffer_pool  # ⽂本⽂件,记录了缓冲池中数据⻚的地址(space_id 和page_no)。数据库在启动后,可直接将指定的数据⻚加载到缓冲池中,避免了较⻓的预热时间
-rw-r----- 1 mysql mysql 12582912  6⽉ 16 21:22  ibdata1  # 系统表空间,主要包括数据字典信息、双写缓冲区(doublewrite buffer)和插⼊缓冲区(insert buffer)等。My SQL8.0.20开始,双写缓冲区会存储在'#ib_16384_0.dblwr'和'#ib_16384_1.dblwr'中-rw-r----- 1 mysql mysql 12582912  6⽉ 16 21:22  ibtmp1 # 全局级别的临时表空间,主要⽤于存储⽤户创建的临时表所做变更的回滚段
drwxr-x--- 2 mysql mysql    4096  6⽉ 16 21:22 '#innodb_redo'/
drwxr-x--- 2 mysql mysql    4096  6⽉ 16 21:22 '#innodb_temp'/  # 会话级别的临时表空间,主要⽤于存储⽤户创建的临时表和SQL 在执⾏过程中产⽣的磁盘临时表
drwxr-x--- 2 mysql mysql    4096  6⽉ 16 21:15  mysql/  # mysql 库,主要包括⼀些系统表,如授权相关的表(user/db/tables_priv/columns_priv/procs_priv/proxies _priv)、⽇志相关的表(general_log/slow_log)、复制相关的表(slave_master_info/sla ve_relay_log_info)。MySQL8.0开始,除了⽇志相关的表,其他表放在单独的共享表空间中(my sql.ibd)
-rw-r----- 1 mysql mysql    1473  6⽉ 16 21:22  # 错误⽇志-rw-r----- 1 mysql mysql 25165824  6⽉ 16 21:22  mysql.ibd srwxrwxrwx 1 mysql mysql        0  6⽉ 16 21:22  mysql .sock =
-rw------- 1 mysql mysql        7  6⽉ 16 21:22  mysql.sock.lock
drwxr-x--- 2 mysql mysql    4096  6⽉ 16 21:15  performance_schema/ # 采集了MySQL 运⾏过程中的性能数据
-rw------- 1 mysql mysql    1680  6⽉ 16 21:15  private_key.pem -rw-r--r-- 1 mysql mysql      452  6⽉ 16 21:15  public_key.pem -rw-r--r-- 1 mysql mysql    1112  6⽉ 16 21:15  server-cert.pem -rw------- 1 mysql mysql    1680  6⽉ 16 21:15  server-key.pem
drwxr-x--- 2 mysql mysql    4096  6⽉ 16 21:16  sys/ # 库中只有⼀张基表(sys_config),其他都是基于information_schema 和performance_schema 的视图。
-
rw-r----- 1 mysql mysql 16777216  6⽉ 16 21:24  undo_001  # 回滚表空间
123456789101112131415
16
17181920
2122232425262728293031

发表评论