centos mysql-5.5.20_centos7 部署mysql-5.7.20

一、系统环境

系统:CentOS Linux release 7.5

mysqlb进制包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

1)依赖包安装

yum clean all

yum -y update

yum -y install gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel wget telnet vim zip unzip

yum -y install curl-devel libxslt-devel pcre-devel libjpeg libpng libcurl4-openssl-dev

yum -y install libcurl-devel libcurl freetype-config freetype freetype-devel unixODBC libxslt

yum -y install libtool openssl-devel

yum -y install perl-devel perl-ExtUtils-Embed

yum -y install ncurses-devel.x86_64 openldap-devel.x86_64 lrzsz openssh-clients gcc-g77 bison

yum -y install libmcrypt libmcrypt-devel mhash mhash-devel bzip2 bzip2-devel

yum -y install ntpdate rsync svn patch iptables iptables-services

yum -y install libevent libevent-devel cyrus-sasl cyrus-sasl-devel

yum -y install gd-devel libmemcached-devel memcached git libssl-devel libyaml-devel auto

yum -y install gcc gcc-c++ make autoconf automake ncurses-devel ncurses cmake libaio libaio-devel boost

2)关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

setenforce 0

3)修改系统内核参数

cat >> /etc/sysctl.conf <

fs.file-max=655360

fs.aio-max-nr = 1048576

kernel.sem = 5050 646400 5050 128

kernel.shmmax = 137438953472

kernel.shmall = 4294967296

kernel.shmmni = 4096

net.ipv4.ip_local_port_range = 9000 65500

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.tcp_rmem = 4096 87380 16777216

net.ipv4.tcp_wmem = 4096 65536 16777216

net.core.netdev_max_backlog = 32768

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_fin_timeout = 10

net.ipv4.tcp_keepalive_time = 300

net.ipv4.tcp_max_syn_backlog = 32768

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_timestamps = 0

net.ipv4.conf.default.accept_source_route = 0

vm.swappiness=1

EOF

# 使其生效

sysctl -p

二、创建mysql目录

mkdir -pv /home/usr/local

三、解压文件并且需要改目录名

tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql5.7

四、创建用户和用户组

groupadd mysql

useradd -r -g mysql mysql

五、创建mysql数据目录

mkdir -pv  /home/usr/local/mysql5.7/{data,logs,tmp}

六、授权mysql目录权限

chown -R mysql:mysql mysql5.7

七、备份原始的my.cnf 配置文件

mv /etc/my.cnf /etc/my.cnf.bak

八、创建新的配置文件

cat >  /etc/my.cnf <

[client]

port = 3306

socket = /home/usr/local/mysql5.7/tmp/mysql_3306.sock

[mysql]

#prompt="\u@\h:\p \R:\m:\s [\d]>"

#tee=/gomeo2o/data/mysql/mysql_3306/data/query.log

#prompt="\u@\h:\p \R:\m:\s [\d]>"

prompt = "[\u@\h][\d]>\_"

connect_timeout = 5

no-auto-rehash

[mysqld]

#misc

user = mysql

basedir = /home/usr/local/mysql5.7

datadir = /home/usr/local/mysql5.7/data

port = 3306

socket = /home/usr/local/mysql5.7/tmp/mysql_3306.sock

#timeout

interactive_timeout = 300

wait_timeout = 300

#character set

character-set-server = utf8

open_files_limit = 65535

max_connections = 100

max_connect_errors = 100000

skip-name-resolve = 1

disable-partition-engine-check=1

#logs

log-output=file

slow_query_log = 1

slow_query_log_file = /home/usr/local/mysql5.7/logs/mysql_3306_slow.log

log-error = /home/usr/local/mysql5.7/logs/mysql_3306_error.log

log_error_verbosity = 3

pid-file = mysql_3306.pid

long_query_time = 1

#log-slow-admin-statements = 1

#log-queries-not-using-indexes = 1

log-slow-slave-statements = 1

#tmp

tmpdir=/home/usr/local/mysql5.7/tmp

event_scheduler = 1

performance_schema = on

max_allowed_packet = 32M

character_set_server = utf8mb4

#character_set_server = utf8

default-time-zone = system

default-storage-engine = InnoDB

#bind_address = 172.16.151.248

explicit_defaults_for_timestamp = 1

#binlog

binlog_format = row

server-id = 1813306

log-bin = /home/usr/local/mysql5.7/logs/mysql-bin

log-bin-index = /home/usr/local/mysql5.7/logs/mysql-bin.index

binlog_cache_size = 4M

max_binlog_size = 1G

max_binlog_cache_size = 2G

sync_binlog = 1

expire_logs_days = 90

#replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=information_schema.%

#relay log

skip_slave_start = 1

max_relay_log_size = 1G

relay_log_purge = 1

relay_log_recovery = 1

log_slave_updates

#slave-skip-errors=1032,1053,1062

explicit_defaults_for_timestamp=1

#buffers & cache

table_open_cache = 2048

table_definition_cache = 2048

table_open_cache = 2048

max_heap_table_size = 96M

sort_buffer_size = 2M

join_buffer_size = 2M

thread_cache_size = 256

query_cache_size = 0

query_cache_type = 0

query_cache_limit = 256K

query_cache_min_res_unit = 512

thread_stack = 192K

tmp_table_size = 96M

key_buffer_size = 8M

read_buffer_size = 2M

read_rnd_buffer_size = 16M

bulk_insert_buffer_size = 32M

#myisam

myisam_sort_buffer_size = 128M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

#innodb

innodb_buffer_pool_size = 10G

innodb_buffer_pool_instances = 1

innodb_data_file_path = ibdata1:1G:autoextend

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 64M

innodb_log_file_size = 500M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 50

innodb_file_per_table = 1

innodb_rollback_on_timeout

innodb_status_file = 1

innodb_io_capacity = 2000

transaction_isolation = READ-COMMITTED

innodb_flush_method = O_DIRECT

gtid_mode = ON

enforce_gtid_consistency = ON

master_info_repository = TABLE

relay-log-info-repository = TABLE

binlog_checksum = NONE

log_slave_updates = ON

binlog_row_image=FULL

plugin_dir = /home/usr/local/mysql5.7/lib/plugin #官方版本的路径

plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" #官方版本的路径

loose_rpl_semi_sync_master_enabled = on

loose_rpl_semi_sync_master_wait_no_slave = on

loose_rpl_semi_sync_slave_enabled = on

loose_rpl_semi_sync_slave_trace_level = 32

loose_rpl_semi_sync_master_enabled = 1

loose_rpl_semi_sync_slave_enabled = 1

loose_rpl_semi_sync_master_timeout = 5000

loose_rpl_semi_sync_master_wait_for_slave_count=1

loose_rpl_semi_sync_master_wait_point=AFTER_SYNC

slave_preserve_commit_order = 1

slave_transaction_retries = 128

log_timestamps = system

show_compatibility_56 = on

slave_parallel_workers = 16

slave_parallel_type = LOGICAL_CLOCK

loose_innodb_numa_interleave = 1

innodb_buffer_pool_dump_pct = 40

innodb_page_cleaners = 16

innodb_undo_log_truncate = 1

innodb_max_undo_log_size = 2G

innodb_purge_rseg_truncate_frequency = 128

transaction_isolation = READ-COMMITTED

sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,ONLY_FULL_GROUP_BY"

[mysqld_safe]

nice=-19

open-files-limit=65535

EOF

九、初始化数据库

/home/usr/local/mysql5.7/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure

十、查看日志

tail -f /home/usr/local/mysql5.7/logs/mysql_3306_error.log

e368df723a6d02e3d65949f15a2cdbd3.png

十一、启动数据库

/home/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/etc/my.cnf &

十二、查看数据进程

66fbc58df92c80216391bb3a2964461f.png

十三、登录数据库

ea72c434075f213cd402167eb0086b2e.png

十四、设置root密码

mysql>use mysql;

mysql>update mysql.user set authentication_string=password('123') where user='root' and host='localhost';

mysql>flush privileges;

十五、赋权限

mysql>use mysql;

mysql> GRANT ALL ON db_name.* TO root@'%' IDENTIFIED BY 'passwprd';

mysql> flush privileges;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值