Skip to content

MySql8安装记录

账号密码:root/zt/pWDleyou!11052022 端口:3306 文档地址: 下载地址:https://dev.mysql.com/downloads/mysql/ 安装方式:

  1. 解压下载文件 tar xvf mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar
  2. 安装文件,注意需要按照顺序进行安装 rpm -ivh mysql-community-common-8.0.36-1.el8.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.36-1.el8.x86_64.rpm rpm -ivh mysql-community-libs-8.0.36-1.el8.x86_64.rpm rpm -ivh mysql-community-client-8.0.36-1.el8.x86_64.rpm rpm -ivh mysql-community-icu-data-files-8.0.36-1.el8.x86_64.rpm rpm -ivh mysql-community-server-8.0.36-1.el8.x86_64.rpm
  3. 替换配置文件/etc/my.cnf
  4. 初始化数据库 mysqld --initialize --user=mysql
  5. 启动 systemctl status mysqld
  6. 修改root用户密码
  7. 查看mysql初始化密码来登录cat /var/log/mysqld.log可以看到如下日志2024-01-25T07:13:44.266344Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ofWaaT6#lV_iofWaaT6#lV_i就是临时密码。
  8. 登录mysql mysql -uroot -p
  9. 修改命令 ALTER USER'root'@'localhost'IDENTIFIED BY 'your_password';

安装地址: 配置文件:

[mysql]
# Mysql8安装记录
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306

[mysqld]
skip_name_resolve=ON
# mysql8不允许root启动
user=mysql
server-id=1
# 设置3306端口
port=3306
# 设置mysql的安装目录
#basedir=/var/lib/mysql
# 设置mysql数据库的数据的存放目录
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character_set_server = utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_allowed_packet=64M

#开启慢查询日志
slow_query_log = ON
##慢查询日志存放位置
slow_query_log_file = /var/lib/mysql/mysql-slow.log
##超过多少秒的查询,被视为慢查询
long_query_time = 3
##未使用索引监控
log_queries_not_using_indexes = 1
#数据库表不分区大小写
lower_case_table_names=1

#binlog日志设置
relay-log = /var/lib/mysql/relay-bin
log-slave-updates = ON
slave-parallel-type=LOGICAL_CLOCK
relay_log_recovery=ON

#超时
slave_net_timeout = 30

#复制并发数设置
slave_parallel_workers = 8

#从库复制跳过错误
#mysql5.7多源复制必须添加的参数(不加报错),5.7版本之前不用加
slave-skip-errors = 1062,1053,1146,1213,1264,1205,1396

master_info_repository=TABLE
relay_log_info_repository=TABLE

#GTID模式(使用GTID就可以不用记录备份位置点)
gtid-mode=on
enforce-gtid-consistency

#作为Master要开启binlog
log-bin=mysql-bin
#binlog format有三种形式:Statement、Mixed、Row,默认设置为mixed
binlog-format=row
expire_logs_days = 7
#需要同步的库,不指定默
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1


#######innodb设置########
#锁等待时间
lock_wait_timeout = 3600
# 服务器线程缓存这个值表示可以重新利用保存在缓存中线程的数量
thread_cache_size = 64
#并发运行的线程数,设置为0表示不限制
innodb_thread_concurrency = 0

#将事务隔离级别设置为READ-COMMITTED
transaction_isolation = READ-COMMITTED
#InnoDB缓存池大小
innodb_buffer_pool_size = 4096M
#InnoDB缓存池实例数
innodb_buffer_pool_instances = 8
#在启动时把热数据加载到内存
innodb_buffer_pool_load_at_startup = 1
#快速加载到缓冲池
innodb_buffer_pool_dump_pct = 100
#数据库关闭时自动dump数据
innodb_buffer_pool_dump_at_shutdown = 1
#
#设置为2表示事务日志将在提交时写入日志,但日志文件每次刷新到磁盘一次
innodb_flush_log_at_trx_commit = 2
#尚未执行的事务分配的缓存,如果事务比较大,适当调整该值
innodb_log_buffer_size = 32M
#redo日志的大小
innodb_log_file_size = 2G
#当超过这个阀值(默认是1G),会触发truncate回收(收缩)动作,truncate后空间缩小到10M
innodb_max_undo_log_size = 4G
# 根据您的服务器IOPS能力适当调整
# 一般配普通SSD盘的话,可以调整到 10000 - 20000
# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
#innodb_io_capacity = 10000
#innodb_io_capacity_max = 20000

#将保存在permanforce_schema中的SQL语句长度设置的足够长,便于查看
performance_schema_max_sql_text_length = 4048

启动命令:

# 启动
systemctl start mysqld
# 查看状态
systemctl status mysqld
# 停止
systemctl stop mysqld

其他注意事项: