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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
论坛制作精简步骤
« 上一篇
MySQL中的连接池配置与使用方法
下一篇 »
发表评论