官方下载 Mysql 8.2 支持 here

解压到需要的文件夹去 (建议放到 /opt/mysql/mysql8)

建立 mysql 的用户与组 (groupadd mysql && useradd -r -g mysql mysql)

创建软链接到系统中,后继服务与配置中会使用到

cd /usr/local && sudo ln -s /opt/mysql/mysql8 mysql8

cd /usr/bin && sudo ln -s /opt/mysql/mysql8/bin/mysql mysql8

编辑或创建 my8.cnf 就放在 /opt/mysql/mysql8/my8.cnf 内容如下:

[mysqld]

开发测试环境关闭 binlog

skip-log-bin

skip-grant-tables

server-id=1

所有地址都能访问

bind-address=0.0.0.0

设置端口为3307,为其它版本数据库与默认安装数据库留位置

port=3307

用户

user=mysql

语句自动提交

autocommit=1

编码

character_set_server=utf8mb4

连接数(开发测试环境不重要

max_connections=2000

max_connect_errors =10

innodb_flush_log_at_trx_commit=0

join_buffer_size=4M

tmp_table_size=64M

interactive_timeout=600

read_rnd_buffer_size=8388608

read_buffer_size = 4194304

sort_buffer_size =4194304

数据库类型

default-storage-engine=INNODB
innodb_page_size = 16384

缓存与性能关系巨大,一般设置为总内存的 1/4 ,调优具体值得看实际作业需求

innodb_buffer_pool_size=4G

innodb_lru_scan_depth=2000

innodb_io_capacity_max = 8000

innodb_io_capacity = 4000

innodb_file_format = Barracuda

innodb_flush_neighbors = 0

在初始化前,得做一个软链接映射数据库文件夹,主要是不想将所有东西都安装到系统里

basedir=/usr/local/mysql8

数据库存放的文件夹

datadir=(自己给一个绝对位置,注意文件夹的所属用户)

连接文件,进程文件与错误文件,别折腾了,和数据库放在一起

socket=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8.sock
pid-file=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8.pid
log-error=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8_err.log

创建数据库时,所有的表名不区分大小写

lower_case_table_names = 1

[mysql]
[client]

客户端的连接文件与服务端一样就行

socket=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8.sock
character_set_client=utf8mb4

创建服务文件 mysql8.service,确认无误后放到 /etc/systemd/system 里边去, 内容如下

[Unit]
Description=MySQL8 Community Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]

用户

User=mysql

用户组

Group=mysql
Type=forking
PermissionsStartOnly=true
PIDFile=(my8.cnf 配置文件中的一样路径)/mysqld8.pid

前边软链接的文件路径 /usr/local/mysql8

启动时连接指定的cnf配置,不去 /etc 下找,免去冲突

--defaults-file=/usr/local/mysql8/my8.cnf

ExecStart=/usr/local/mysql8/bin/mysqld --defaults-file=/usr/local/mysql8/my8.cnf --daemonize --pid-file=(my8.cnf 配置文件中的一样路径)/mysqld8.pid
TimeoutSec=10
LimitNOFILE = 5000
Restart=on-failure
RestartPreventExitStatus=1
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755

创建数据库存放的文件夹并同步给文件夹修改所属用户 chown -R mysql.mysql (mysql 与 数据库文件夹)

进入数据库安装程序的 bin 路径准备初始化数据库.

cd /opt/mysql/mysql8/bin

./mysqld --defaults-file=/opt/mysql/mysql8/my8.cnf --basedir=/usr/local/mysql8 --datadir=(自己建的数据库路径) --user=mysql --initialize

初始化完成后,去查看配置文件中 log-error=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8_err.log,里边有初始密码,localhost: XXXXXXX 就是密码

初始化后,测试一下是否能通过服务启动 systemctl start mysql8 一般没有问题的.不建议设置为自动启动,浪费资源.

综上,安装其它版本的mysql也就是大同小异,注意一下端口与路径就行了.


慵懒的猫mi
1 声望0 粉丝