centos 7 安装 mysql 8

null




前言

      centos 7 安装 mysql 8 ,安装包直接在mysql官网下载,无需登录




一、linux设置

1.关闭防火墙

      检查防火墙状态
          systemctl status firewalld.service
      暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动
          systemctl stop firewalld.service
      彻底永久关闭防火墙
           systemctl disable firewalld.service

      关闭SELINUX防火墙!
           vi /etc/selinux/config
      将内容
            SELINUX=enforcing
       更改为
            SELINUX=disabled

/etc/sysctl.conf 文件中加入
vm.swappiness=1
fs.file-max=12553500
fs.nr_open=12453500
sed -i  's/4096/unlimited/g' /etc/security/limits.d/20-nproc.conf 

/etc/security/limits.conf增加
mysql soft nofile 65535
mysql hard nofile 65535
mysql soft core 1024000
mysql hard core 1024000
mysql hard nproc 65535
mysql soft nproc 65535
mysql hard stack unlimited
mysql soft stack unlimited

2.添加主机名 

        查看IP地址 : ifconfig -a / ip a
        查看主机名 : hostname
        然后修改/etc/hosts文件:
        vi /etc/hosts

        添加内容:ip 主机名

3.检查删除是否有安装过mysql

        CENTOS7: rpm -qa |grep mariadb

        rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 

4.添加环境变量


vim /etc/profile
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"



二、安装mysql



1.创建目录,用户组及用户

mkdir -p /usr/local/mysql
mkdir -p /data/mysql_data
mkdir -p /data/mysql_log
mkdir -p /data/log_bin
mkdir -p /data/log_redo
mkdir -p /data/log_relay
mkdir -p /data/tmp
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /data/mysql_data /data/mysql_log /data/log_bin /data/log_redo/  /data/log_relay /data/tmp 
chown -R mysql.mysql /usr/local/mysql



2.创建my.cnf文件

将隔离级别修改为读已提交(其它主流数据库默认隔离级别),可以提高并发度。

[mysqld]
# GENERAL #
user = mysql
collation_server=utf8mb4_general_ci
character_set_server=utf8mb4
default_storage_engine = InnoDB
server_id = 1
socket = /data/mysql_data/mysql.sock
pid-file = /data/mysql_data/mysql.pid
port = 3306
transaction-isolation = READ-COMMITTED
lower_case_table_names = 1
explicit_defaults_for_timestamp = 1
sql_generate_invisible_primary_key = on
default_time_zone = '+8:00'
log_timestamps = system
net_buffer_length = 163840 
admin_address  = 127.0.0.1
admin_port = 33062
#log_bin_trust_function_creators = on

# SAFETY #
max_allowed_packet = 1G 
max_connect_errors = 1000000
max_connections=3000
max_user_connections=2800
open_files_limit=65535
skip_name_resolve=ON
 
# DATA STORAGE #
datadir = /data/mysql_data
tmpdir = /data/tmp
 
# BINARY LOGGING #
binlog-ignore-db=mysql,information_schema,sys,performance_schema
#binlog_format = ROW
binlog_row_image=full
log_bin = /data/log_bin/mysql_bin_3306
binlog_expire_logs_seconds=259200
sync_binlog = 1
max_binlog_size = 512M 
 
# CACHES AND LIMITS #
tmp_table_size = 16M 
max_heap_table_size = 32M
thread_cache_size = 64
table_definition_cache = 4096
table_open_cache = 4096
 
# INNODB #
#innodb_data_home_dir = /data/mysql_data/ibdata/
innodb_data_file_path = ibdata1:128M;ibdata2:10M:autoextend
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 120
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = ON
innodb_buffer_pool_instances = 8
innodb_buffer_pool_size = 16G
#innodb_write_io_threads和innodb_read_io_threads不要超过cpu核数
innodb_write_io_threads = 4
innodb_read_io_threads = 4
#如果配置的硬盘IOPS较低使用默认值即可,如果使用ssd侧innodb_io_capacity_max设置为最大iops(6000),innodb_io_capacity设置为其50%(3000)
innodb_io_capacity = 200
innodb_io_capacity_max = 2000
innodb_lru_scan_depth = 2000
#机械硬盘建议开启及设置为1,SSD建议关闭此特性及设置为0
innodb_flush_neighbors = 1
innodb_print_all_deadlocks = 1
#innodb_purge_threads = 4
innodb_sort_buffer_size = 16M
#innodb_online_alter_log_max_size = 1G  
innodb_sync_array_size = 16
#innodb_page_cleaners = 8


read_buffer_size = 16M
read_rnd_buffer_size = 16M
sort_buffer_size = 16M
join_buffer_size = 16M

# repl # 
#rpl_semi_sync_master_enabled=1 
#rpl_semi_sync_master_timeout=1000 
gtid_mode=on 
enforce-gtid-consistency=1
 
# REDOLOG #
innodb_log_group_home_dir = /data/log_redo/  
innodb_log_buffer_size=67108864
innodb_redo_log_capacity=2G

# UNDO #
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
 
# LOGGING #
log_error = /data/mysql_log/mysql_error_3306.log
log_error_verbosity = 3
slow_query_log = 1
long_query_time = 10
log_slow_admin_statements=1
log_slow_replica_statements = 1
slow_query_log_file = /data/mysql_log/mysql_slow_3306.log
binlog_cache_size = 32M

# binlog_gtid_simple_recovery #
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_pct = 50
#slave_parallel_workers,slave_preserve_commit_order,slave_parallel_type 从8.0.27已经为默认设置
#slave_parallel_type  = LOGICAL_CLOCK
#slave_parallel_workers = 4
#slave_preserve_commit_order = 1
replica_transaction_retries = 128


# RELAYLOG #
relay_log = /data/log_relay/relaylog
relay_log_index = /data/log_relay/relay.index

 
# SLAVE #
replica_load_tmpdir=/data/tmp
skip_replica_start = 1
relay_log_recovery = 1
 
[client]
default_character_set=utf8mb4
socket = /data/mysql_data/mysql.sock

3.配置系统服务

cp -af /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

#############################################
vi /etc/init.d/mysqld
修改两处位置:
basedir=/usr/local/mysql
datadir=/data/mysql_data
#############################################

4.初始化数据库


cd /usr/local/mysql/bin

./mysqld --initialize --lower-case-table-names=1 --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data

5.启动数据库及登录

service mysqld start

mysql -uroot -p   --然后这里出现Enter password:的时候直接按回车即可


cat /data/mysql_log/mysql_error_3306.log|grep password可以找到初始密码

登录之后修改初始密码:
alter user  user() identified by  '123456';

至此安装完毕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值