首页 > 数据库 >mysql 8 安装

mysql 8 安装

时间:2023-05-09 10:35:52浏览次数:42  
标签:bin log relay 安装 mysql data logs

1 环境说明

(1)基础环境

操作系统:CentOS Linux release 7.4.1708 (Core)
配置:4c 8GB 100GB

mysql版本:mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
备份工具:percona-xtrabackup-8.0.32-26-Linux-x86_64.glibc2.17.tar.gz

软件下载:

wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.32-26/binary/tarball/percona-xtrabackup-8.0.32-26-Linux-x86_64.glibc2.17.tar.gz

 

(2)系统和目录规划

<1>新建目录

mkdir -p /data/mysql/{conf,data,logs,run,tmp,mysql-bin,relay-logs,shell}

目录说明:

conf 配置文件
data 数据目录
logs 普通日志目录
shell 基础脚本目录
run 进程文件目录
tmp 临时文件目录
mysql-bin bin log目录
relay-logs relay log目录

 

<2>新建用户

groupadd mysql
useradd -r -s /bin/false -g mysql mysql

 

2 安装操作

(1)安装
tar -xf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz -C /data/mysql/
cd /data/mysql/
mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql-server

 

(2)配置文件 /data/mysql/conf/my.cnf

[client]
port=3306
default-character-set=utf8mb4
socket = /data/mysql/run/mysql.sock

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
#在mysql提示符中显示当前用户、数据库、时间等信息
prompt="\\u@\\h [\\d]>" 
#不使用自动补全功能
no-auto-rehash

[mysqld]
port=3306
user = mysql
server-id = 6

#time zone
default-time-zone = SYSTEM
log_timestamps = SYSTEM

#设置mysql的安装目录
basedir=/data/mysql/mysql-server

#设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
max_connections=5000
max_connect_errors=5000

#定义sock文件
socket = /data/mysql/run/mysql.sock
pid_file=/data/mysql/run/mysqld.pid

#定义打开最大文件数
open_files_limit = 65535

#服务端使用的字符集默认为UTF8
character-set-server=utf8mb4

#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

#默认使用mysql_native_password插件认证
default_authentication_plugin=mysql_native_password

#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1

#关闭dns解析
skip_name_resolve = 1

#开启gtid模式
gtid-mode = on
enforce-gtid-consistency=1

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 28800
wait_timeout = 28800

#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M

###### slow log ######
#slow存储方式
log-output=file
#开启慢查询日志记录功能
slow_query_log = 1
#慢日志记录超过1秒的SQL执行语句,可调小到0.1秒
long_query_time = 1
#慢日志文件
slow_query_log_file = /data/mysql/logs/slow3306.log
#记录由Slave所产生的慢查询
#log-slow-slave-statements = 1
#开启DDL等语句慢记录到slow log
log_slow_admin_statements = 1
#记录没有走索引的查询语句
log_queries_not_using_indexes =1
#表示每分钟允许记录到slow log的且未使用索引的SQL语句次数
log_throttle_queries_not_using_indexes = 60
#查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
min_examined_row_limit = 100

#错误日志
log_error_verbosity=3
log_error=/data/mysql/logs/mysql_error.log

#一般日志开启,默认关闭
general_log=on
#一般日志文件路径
general_log_file=/data/mysql/logs/general_log.logs

####### binlog ######
##binlog 格式
binlog_format = row
##binlog文件
log-bin = /data/mysql/mysql-bin/mysql-3306-bin
##binlog的cache大小
binlog_cache_size = 4M
##binlog 能够使用的最大cache
max_binlog_cache_size = 2G
##最大的binlog file size
max_binlog_size = 1G
##当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,注重binlog安全性可以设为1
sync_binlog = 0

##procedure 
log_bin_trust_function_creators=1
##保存bin log的天数
expire_logs_days = 10

#限制mysqld的导入导出只能发生在/tmp/目录下
secure_file_priv="/data/mysql/tmp/"

#relay log
#复制进程就不会随着数据库的启动而启动
skip_slave_start = 1
#relay log的最大的大小
max_relay_log_size = 128M
#SQL线程在执行完一个relay log后自动将其删除
relay_log_purge = 1
#relay log受损后,重新从主上拉取最新的一份进行重放
relay_log_recovery = 1
#relay log文件
relay-log=/data/mysql/relay-logs/relay-bin
relay-log-index=/data/mysql/relay-logs/relay-bin.index
#开启slave写realy log到binlog中
log_slave_updates
#开启relay log自动清理,如果是MHA架构,需要关闭
relay-log-purge = 1

#设置relay log保存在mysql表里面
master_info_repository = TABLE
relay_log_info_repository = TABLE

[mysqldump]
quick
max_allowed_packet = 32M

[xtrabackup]
socket = /data/mysql/run/mysql.sock

 

(3)初始化实例

<1>初始化

/data/mysql/mysql-server/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --lower_case_table_names=1 --initialize-insecure

注:此处必须加上 --lower_case_table_names=1 忽略表名大小写,这个是 mysql 8 必须加的

<2>配置环境变量

echo 'export PATH=/data/mysql/mysql-server/bin:$PATH' >> /etc/profile.d/mysql8.sh
source /etc/profile.d/mysql8.sh

 

(4)启动操作
<1>基础启动关闭
1>启动

/data/mysql/mysql-server/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --user=mysql >> /data/mysql/logs/mysql-server.logs 2>&1 &

2>关闭(此处初始化没有密码)

/data/mysql/mysql-server/bin/mysqladmin -uroot -p -S /data/mysql/run/mysql.sock shutdown

 

<2>supervisorctl方式管理

[program:mysqld]
command=/data/mysql/mysql-server/bin/mysqld  --basedir=/data/mysql/mysql-server --datadir=/data/mysql/data --plugin-dir=/data/mysql/mysql-server/lib/plugin --log-error=/data/mysql/logs/mysql_error.log --pid-file=/data/mysql/run/mysqld.pid --socket=/data/mysql/run/mysql.sock
priority=99
user=mysql
directory=/data/tmp
autostart=true
autorestart=false
startsecs=3
startretries=999999
redirect_stderr=false
stdout_logfile=/data/logs/supervisord/mysqld.log

 

(5)授权操作

#进入控制台
mysql -uroot -p -S /data/mysql/run/mysql.sock

<1>root用户权限修改
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';


<2>普通用户
#创建普通用户
CREATE user 'user1'@'x.x.x.%';

#添加密码
alter user 'user1'@'x.x.x.%' identified with mysql_native_password by 'xxxxxx'; 

#授权
grant select,insert,update,delete,create on *.* to 'user1'@'x.x.x.%';

#检查权限
show grants for 'user1'@'x.x.x.%'
flush privileges;

#用户检查
select Host,User,authentication_string from mysql.user;
select user,host,grant_priv from mysql.user;

#如果root用户无授权能力(grant_priv = 'N'), 则可以开起来
update mysql.user set grant_priv='Y' where user='root';

#创建新的数据库
create database data_num default character set utf8mb4 collate utf8mb4_unicode_ci;

 

(6)xtrabackup部署

tar -xf percona-xtrabackup-8.0.32-26-Linux-x86_64.glibc2.17.tar.gz -C /data/mysql/
cd /data/mysql/
mv percona-xtrabackup-8.0.32-26-Linux-x86_64.glibc2.17 xtrabackup

#vim /etc/profile.d/xbk.sh
export XBK=/data/mysql/xtrabackup/
export PATH=$XBK/bin:$PATH

#加载
source /etc/profile.d/xbk.sh

#查看版本:
#xtrabackup --version
2023-04-26T11:43:08.664949+08:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --datadir=/var/lib/mysql --innodb_buffer_pool_size=512M 
xtrabackup version 8.0.32-26 based on MySQL server 8.0.32 Linux (x86_64) (revision id: 34cf2908)

 

标签:bin,log,relay,安装,mysql,data,logs
From: https://www.cnblogs.com/fanrui/p/17384106.html

相关文章

  • mysql 移动数据目录data后启动失败
    ###############################一、需要更改my.cnf中所有关于路径的参数二、更改binlog.index中的路径信息三、更改relaylog.index中的路径信息                   ###########################......
  • MySQL 中读写分离数据延迟
    MySQL中读写分离可能遇到的问题前言读写分离的架构基于客户端实现读写分离基于中间代理实现读写分离MySQL中如何保证主从数据一致循环复制问题主从同步延迟主从同步延迟的原因主从延迟如何处理强制走主库方案Sleep方案判断主从无延迟方案配合semi-sync......
  • MYSQL-幻读
    什么是幻读?事务隔离级别为可重复读时,幻读发生在当前读和快照读混合使用的情况下select*fromtable,正常查询为快照读select*fromtableforupdate,或者insert,delete等为当前读如果事务中仅存在快照读,则不会发生幻读的情况;测试如下:事务1中仅快照查询,则事务2提交事务后......
  • 使用Docker及安装部分软件
    一、前言最近在银行内部部署项目的时候,发现GCC版本过期,是4.5的版本,导致了Nginx和Redis都无法进行make编译安装,但是GCC版本又因为无法连接到外网,无法进行升级。那么想到了使用Docker容器化技术来进行管理。其实之前也使用过Docker,但是这次决定将其系统性的整理一下。下面章节将分......
  • 尝试安装包的时候遇到的这样的错误,然后我尝试更新pip发现几乎报了同样的错,如何解决?
    大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【ChatGPT】给出了一个思路,如下所示:开代理可能会影响Python库安装,原因如下:代理可能会阻止Python库的下载。如果代理服务器无法正确配置,......
  • KaiOS 2.5.X 使用 WebIDE 安装以及调试第三方应用程序
    本教程将展示使用WaterfoxClassic安装为KaiOS2.5.x设计的应用,同时我们也非常推荐使用它来进行安装和调试应用。本教程本身不会对手机产生任何损害,但请注意,你必须信任你所安装的应用是安全、无任何威胁的,WebIDE不会验证应用的安全性,MomoTrace不对因使用WebIDE安装恶意应......
  • linux yum明明已经安装lzszz上传文件提示命令零错误
    遇到错误如下:Loadedplugins:fastestmirror,refresh-packagekit,securityDeterminingfastestmirrorsYumRepoError:AllmirrorURLsarenotusingftp,http[s]orfile.Eg.Invalidrelease/repo/archcombination/removingmirrorlistwithnovalidmirrors:/var......
  • linux下安装nginx-rtmp
    1.下载安装包并且解压mkdirnginxcdnginxwgethttps://repo.huaweicloud.com/nginx/nginx-1.17.9.tar.gzwgethttps://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1tar-zxvfnginx-1.17.9.tar.gzunzipmaster.zip2.安装基础环境yuminstall-yopenss......
  • 台式机装Ubuntu 遇到“no root file system is defined”、安装类型上没有“删除直接
    今日,给清华要的两台电脑终于拿到手了(下午拿到的,具体坎坷经历见日报)。开始配环境,主要是三个步骤:1、装Linux2、装网卡和网卡驱动3、装GNU_radio一系列环境(见我上个月虚拟机的操作方案)今天完成了1和2.最恶心的是1.首先报的错误是,norootfilesystemisdefined,确实,但是为什么......
  • MySQL索引下推(官方翻译)
    索引条件下推优化原文链接:https://dev.mysql.com/doc/refman/8.0/en/index-condition-pushdown-optimization.html索引条件下推(ICP)是针对MySQL使用索引从表中检索行的情况的优化。如果没有ICP,存储引擎会遍历索引以定位基表中的行,并将它们返回给MySQL服务器,MySQL服务器......