MySQL 5.7手动安装步骤

MySQL 5.7手动安装步骤

一,下载

1.1 下载地址

https://dev.mysql.com/downloads/mysql/

download :https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

1.2 mysql主配置信息

内存:2-4G

二,安装配置

2.1 解压安装文件到/usr/local/

cd /usr/local/

tar xf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /usr/local

mkdir /usr/local/mysql

unlink /usr/local/mysql

ln -fs /usr/local/mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql

2.2 创建数据目录&mysql用户

mkdir -p /data/mysql/3306/{data,binlog,relaylog,dblog,tmp}

touch /data/mysql/3306/dblog/error.log

useradd mysql

chown -R mysql.mysql /data/mysql/3306

2.3 创建配置文件到

vim /data/mysql/3306/my.cnf

[client]

port = 3306

socket = /data/mysql/3306/mysql.sock

[mysql]

no-auto-rehash

#prompt = "\\u@\\d \\R:\\m> "

prompt = "\\u@\\h : \\d \\R:\\m:\\s> "

character-set-server = utf8mb4

# The MySQL server

#########Basic##################

[mysqld]

server-id = 883306

port = 3306

user = mysql

basedir = /usr/local/mysql

datadir = /data/mysql/3306/data

socket = /data/mysql/3306/mysql.sock

pid-file = /data/mysql/3306/mysql.pid

skip-external-locking

skip-name-resolve

default-storage-engine = InnoDB

character-set-client-handshake = FALSE 

character-set-server = utf8mb4

init_connect='set names utf8mb4'

#wait_timeout = 200

#interactive_timeout = 200

connect_timeout = 20

back_log = 1000

log_bin_trust_function_creators = 1

lower_case_table_names = 1

#read_only = 1

sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

secure_file_priv = '/data/mysql/3306/tmp'

transaction_isolation = READ-COMMITTED

#######: for per_thread_buffers ############

max_connections = 1000

#max_user_connections = 1000

max_connect_errors = 10000000

key_buffer_size = 16M

max_allowed_packet = 128M

thread_cache_size = 320

thread_stack = 256K

table_open_cache = 6144

table_definition_cache = 4096

table_open_cache_instances = 64

sort_buffer_size = 512K

read_buffer_size = 512K

read_rnd_buffer_size = 512k

join_buffer_size = 512K

tmp_table_size = 64M

max_heap_table_size = 128M

query_cache_type = 0

query_cache_size = 0

bulk_insert_buffer_size = 32M

#max_prepared_stmt_count = 1048576

######### : for binlog ##################

log-bin = /data/mysql/3306/binlog/mysql-bin

binlog_format = row

binlog_rows_query_log_events = on

log_slave_updates = 1

max_binlog_size = 512M

binlog_cache_size = 65535

expire-logs-days = 7

sync_binlog = 1

slave-preserve-commit-order = ON

relay-log = /data/mysql/3306/relaylog/mysql-relay

#########: for replication #############

slave-net-timeout = 20

skip-slave-start

sync_master_info = 1

sync_relay_log_info = 1

relay_log_recovery = 1

#slave-parallel-type=LOGICAL_CLOCK

#slave-parallel-workers=16

master_info_repository=TABLE

relay_log_info_repository=TABLE

#########: for slow log #############

slow_query_log = 1

slow_query_log_file = /data/mysql/3306/dblog/mysql.slow

log_queries_not_using_indexes = on

long_query_time = 2

#########: for error log #############

log-error = /data/mysql/3306/dblog/error.log

general_log = off

#########: for gtid#############

#gtid_executed_compression_period = 1000

#gtid_mode = on

#enforce_gtid_consistency = on

#########: for InnoDB #############

#5.7.29 废弃了

#default_stroage_engine = innodb

#default_tmp_stroage_engine = innodb

innodb_data_home_dir = /data/mysql/3306/data

innodb_data_file_path = ibdata1:128M:autoextend

innodb_temp_data_file_path = ibtmp1:1024M:autoextend:max:5G

innodb_buffer_pool_size = 1G

innodb_log_file_size = 200M

innodb_log_buffer_size = 128M

innodb_log_files_in_group = 2

innodb_thread_concurrency = 0

innodb_max_dirty_pages_pct = 85

innodb_support_xa = 0

innodb_flush_log_at_trx_commit = 0

innodb_flush_method = O_DIRECT

innodb_read_io_threads = 8

innodb_write_io_threads = 8

innodb_io_capacity = 200

innodb_io_capacity_max = 2000

#----ssd

#innodb_io_capacity = 2000

#innodb_flush_neighbors = 0

#innodb_page_size = 8K

#innodb_log_block_size = 4096

innodb_file_per_table = 1

innodb_file_format = Barracuda

innodb_file_format_max = Barracuda

innodb_strict_mode = 1

innodb_purge_threads = 4

innodb_page_cleaners=4

innodb_purge_batch_size = 32

innodb_print_all_deadlocks = on

innodb_deadlock_detect = on

innodb_lock_wait_timeout = 50

innodb_spin_wait_delay = 6

innodb_autoinc_lock_mode = 2

innodb_stats_on_metadata = off

innodb_checksum_algorithm=crc32

innodb_open_files = 65535

#metadata_locks_hash_instances=32

innodb_online_alter_log_max_size = 128M

#-----Persistent Optimizer Statistics

innodb_stats_auto_recalc = on

innodb_stats_persistent = on

innodb_stats_persistent_sample_pages = 20

innodb_adaptive_hash_index = on

innodb_change_buffering = all

innodb_change_buffer_max_size = 25

innodb_flush_log_at_timeout = 1

innodb_flush_log_at_trx_commit = 1

#-----innodb scan resistant

innodb_old_blocks_pct = 37

innodb_old_blocks_time = 1000

#----innodb read ahead

innodb_read_ahead_threshold = 56

innodb_random_read_ahead = off

#-----innodb buffer pool state(5.7)

innodb_buffer_pool_dump_pct = 40

innodb_buffer_pool_dump_at_shutdown = ON

innodb_buffer_pool_load_at_startup = ON

innodb_undo_log_truncate = 1

innodb_max_undo_log_size = 2G

innodb_purge_rseg_truncate_frequency = 128

binlog_gtid_simple_recovery=1

binlog_error_action=ABORT_SERVER

log_timestamps=system

transaction_write_set_extraction=MURMUR32

show_compatibility_56=on

internal_tmp_disk_storage_engine=INNODB

eq_range_index_dive_limit=200

[mysqldump]

quick

max_allowed_packet = 512M

[mysqld_safe]

numa_interleave = 1

open-files-limit = 65535

2.4 初使化

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/3306/my.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data/

2.5 启动服务

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/3306/my.cnf --user=mysql &

2.6 初始化密码

这种安装是无密码本机登录

/usr/local/mysql/bin/mysql -uroot -S /data/mysql/3306/mysql.sock

ln -fs /data/mysql/3306/mysql.sock /tmp

就不用每次 -S /data/mysql/3306/mysql.sock

其他安装方式需要输入密码

/usr/local/mysql/bin/mysql -uroot -p

2.7 MySQL5.7 root开放远程连接

例如,你想使用账号username 使用密码 password 从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'root '@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

FLUSH  PRIVILEGES;

别忘了执行语句 FLUSH RIVILEGES 使修改生效

你可能感兴趣的:(MySQL 5.7手动安装步骤)