首页 > 数据库 >MySQL-8.0布署

MySQL-8.0布署

时间:2024-01-05 17:56:39浏览次数:32  
标签:8.0 log MySQL 35 usr mysql 布署 local

下载软件

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz

解压软件

tar xvf mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz -C /usr/local/
mv /usr/local/mysql-8.0.35-linux-glibc2.17-x86_64 /usr/local/mysql-8.0.35

安装依赖包

yum install libaio net-tools -y

准备工作

创建用户

groupadd mysql
useradd -g mysql mysql -s /sbin/nologin

创建所需的目录

mkdir -p /usr/local/mysql-8.0.35/{data,log,binlog,tmp}

配置环境变量

cat << 'CAT_END' >> /etc/profile
export MYSQL_HOME=/usr/local/mysql-8.0.35
export PATH=$MYSQL_HOME/bin:$PATH
CAT_END
source /etc/profile

准备配置文件

cat << 'CAT_END' >>/etc/my.cnf
[mysqld]
lower_case_table_names          = 1
user                            = mysql
server_id                       = 1
port                            = 3306
 
default-time-zone = '+08:00'
enforce_gtid_consistency        = ON
gtid_mode                       = ON
binlog_checksum                 = none
default_authentication_plugin   = mysql_native_password
datadir                         = /usr/local/mysql-8.0.35/data
pid-file                        = /usr/local/mysql-8.0.35/tmp/mysqld.pid
socket                          = /usr/local/mysql-8.0.35/tmp/mysqld.sock
tmpdir                          = /usr/local/mysql-8.0.35/tmp/
skip-name-resolve               = ON
open_files_limit                = 65535
table_open_cache                = 2000
 
#################innodb########################
innodb_data_home_dir            = /usr/local/mysql-8.0.35/data
innodb_data_file_path           = ibdata1:512M;ibdata2:512M:autoextend
innodb_buffer_pool_size = 12000M
innodb_flush_log_at_trx_commit = 1
innodb_io_capacity = 600
innodb_lock_wait_timeout = 120
innodb_log_buffer_size = 8M
innodb_log_file_size = 200M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 85
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_thread_concurrency = 32
innodb_file_per_table
innodb_rollback_on_timeout
 
innodb_undo_directory           = /usr/local/mysql-8.0.35/data
innodb_log_group_home_dir       = /usr/local/mysql-8.0.35/data
 
###################session###########################
join_buffer_size = 8M
key_buffer_size = 256M
bulk_insert_buffer_size = 8M
max_heap_table_size = 96M
tmp_table_size = 96M
read_buffer_size = 8M
sort_buffer_size = 2M
max_allowed_packet = 64M
read_rnd_buffer_size = 32M
 
############log set###################
log-error                       = /usr/local/mysql-8.0.35/log/mysqld.err
log-bin                         = /usr/local/mysql-8.0.35/binlog/binlog
log_bin_index                   = /usr/local/mysql-8.0.35/binlog/binlog.index
max_binlog_size                 = 500M
slow_query_log_file             = /usr/local/mysql-8.0.35/log/slow.log
slow_query_log                  = 1
long_query_time                 = 10
log_queries_not_using_indexes   = ON
log_throttle_queries_not_using_indexes  = 10
log_slow_admin_statements       = ON
log_output                      = FILE,TABLE
master_info_file                = /usr/local/mysql-8.0.35/binlog/master.info
CAT_END

设置安装的MySQL目录为mysql用户

chown -R mysql.mysql /usr/local/mysql-8.0.35

初始化数据库

mysqld --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql-8.0.35/data  --initialize-insecure --user=root

 

修改系统自带启动脚本

默认配置文件【默认配置文件/etc/my.cnf】

]# vi /usr/local/mysql-8.0.35/support-files/mysql.server
# 修改如下3个参数即可
basedir=/usr/local/mysql-8.0.35
datadir=/usr/local/mysql-8.0.35/data
mysqld_pid_file_path=/usr/local/mysql-8.0.35/tmp/mysqld.pid

 

 自定义的配置文件修改脚本

]# vi /usr/local/mysql-8.0.35/support-files/mysql.server
# 修改如下3个参数即可
basedir=/usr/local/mysql-8.0.35
datadir=/usr/local/mysql-8.0.35/data
mysqld_pid_file_path=/usr/local/mysql-8.0.35/tmp/mysqld.pid


case "$mode" in
  'start')
...   # 这里需要加上--defaults-file才可以
      $bindir/mysqld_safe --defaults-file=/usr/local/mysql-8.0.35/conf/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

使用mysql用户运行脚本

sudo -u mysql /usr/local/mysql-8.0.35/mysql.server start

检查启动端口

[root@localhost ~]# netstat -tunlp | grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      24791/mysqld        
tcp6       0      0 :::33060                :::*                    LISTEN      24791/mysqld

 

3306和33060端口号区别

MySQL服务使用不同的端口号来进行数据库服务,两个端口号之间有很大的区别。关系型数据库管理系统 MySQL 支持多种端口号,其中一个常见的是3306和33060端口号。这两个概念相似,所以有时会被混淆,但实际上它们间有很大的不同。

3306端口号是MySQL客户端连接的标准端口号,不管是本地还是远程。它用来接受连接请求,并进行客户端和数据库中的后端数据传输。MySQL服务器使用3306端口号来处理收到的连接,并将它们发送到数据库中,与数据库进行通信。

相比之下,33060端口号用于MySQL的通信。它支持MySQL的安全连接,可以通过SSL协议加密传输数据,保障数据的安全传输。MySQL会在启动时创建两个连接端口:33060端口号,用于安全连接;另一个为3306,用于非安全连接。
3306端口号只使用TCP协议进行通信,所以传输的数据不安全,而33060端口号使用SSL协议进行通信,可以确保数据的安全性。如果要实现MySQL的安全连接,就必须使用33060端口号,其写法如下:

mysqld_safe --ssl-ca=/etc/ca.pem --ssl-cert=/etc/cert.pem --ssl-key=/etc/key.pem --port=33060 总而言之,3306和33060端口号的最大区别在于它们使用的不同的协议,3306端口号使用TCP协议进行通信,而33060端口号使用SSL协议进行通信。
因此,为了保证MySQL数据的安全性,建议使用33060端口号进行安全连接,并使用SSL加密传输数据。

基本操作

修改ROOT密码

alter user 'root'@'localhost' identified by 'root'

 

查看当前的用户

select host,user,authentication_string from mysql.user;

 

标签:8.0,log,MySQL,35,usr,mysql,布署,local
From: https://www.cnblogs.com/ygbh/p/17947449

相关文章

  • 使用 dbgate 在 sealos 上完美管理 mysql pgsql 等数据库
    先登录sealos创建数据库,可以创建个pgsql:再到模版市场启动dbgate:配置数据库的连接信息,即可搞定收工sealos以kubernetes为内核的云操作系统发行版,让云原生简单普及laf写代码像写博客一样简单,什么dockerkubernetes统统不关心,我只关心写业务!......
  • Mysql8忽略大小写的解决方案
    ​一、删除服务器数据文件由于8.0没法设置参数后重启(失败),所以必须删掉老库,重新启动才行。切记:;本步骤要删掉老库所有资料,如果是数据库当前有用,请做好备份,再进行操作。systemctlstopmysqldcd/var/lib/mysql默认数据在这里rm-rf*二、添加配置,大小写不敏感vim/etc/m......
  • mysql5.7 大量sleep连接解决方法
    showprocesslist查看发现有大量sleep进程查看当前数据库设置的最大连接数showvariableslike'max_connections';如果是生产环境需要紧急处理的话,可以先临时扩大支持的最大连接数setglobalnax_connections=1000;但是这个并不能永久性解决这个问题查看系统设置的wai......
  • MYSQL
    DB:“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。DB类型关系数据库:MySQL,Oracle数据库非关系型数据库:BigTable(Google)DBA:数据库管理员DBMS:数据库管理系统:数据库管理系统(DatabaseMa......
  • Centos7安装mysql5.7
    Centos7安装mysql5.71、查看rpm包rpm-qa|grepmysql若有可用rpm-e卸载查找是否有mysql:find/-namemysql检测系统是否自带mysqlrpm-qa|grepmysql如果是,则使用下面命令进行删除:rpm-e--nodeps‘上一步查找的名称’删除成功后,查询所有Mysql对应的文件夹whereis......
  • Kubernetes高可用集群二进制部署v1.28.0版本
    一、集群环境准备1.1主机规划        主机IP地址主机名主机配置主机角色软件列表192.168.198.144k8s-master12C4Gmasterkube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl192.168.198.145k8s-master22C4Gmasterkube-ap......
  • MYSQL函数
    MYSQL中的函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数。 一、数学函数主要的数学函数有:绝对值函数、三角函数(包含正弦函数、余弦函数、正切函数、余切函数等)、对数函数、随机数函数等。在有错误产生时,数学函数将返回空......
  • Ubuntu 22.04.1 LTS 编译安装 mysql5.6
    在Ubuntu22.04下安装mysql5.6,试了很多方法都失败了,最后编译安装成功了。1、看下有没有其它版本的mysql,有的话就卸载掉#查询dpkg-l|grepmysql#如果有则卸载apt-getremove--purge<mysql程序名称> 2、安装依赖apt-getinstallgccapt-getinstallg++apt-get......
  • MySQL 查询执行计划
    目录查询计划查询计划输出格式解释输出列列格式idselect_typetypepossible_keyskeyref查询计划根据表、列、索引的详细信息以及子句中的WHERE条件不同,MySQL优化器会考虑多种技术来有效地执行SQL查询中涉及的查找。例如,对大表进行查询可能无需读取所有行;涉及多个表的......
  • mysql备份导入
    mysqldump-uroot-p--single-transaction--master-data=2--flush-logs--flush-privileges--routines=TRUE--triggers--databasesperf>/root/backup/perf.sql#有可能会有警告mysqldump-uroot-p--single-transaction--master-data=2--flush-logs--flush-priv......