首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL8.0.11二进制安装

MYSQL8.0.11二进制安装

作者头像
MySQL轻松学
发布2018-08-08 17:25:35
1.3K0
发布2018-08-08 17:25:35
举报
文章被收录于专栏:MYSQL轻松学MYSQL轻松学

Mysql8.0源码编译安装涉及包较多,推荐现在二进制包安装。

一、创建用户和组

groupadd mysql

useradd -g mysql mysql

echo "password" | passwd --stdin mysql

二、创建目录

mkdir -p /data/mysql/tmp

mkdir -p /data/mysql/data

mkdir -p /data/mysql/dumps

mkdir -p /data/mysql/log

mkdir -p /data/mysql/undo

mkdir -p /data/servers/mysql/etc

chown mysql.mysql -R /data/mysql

chown mysql.mysql -R /data/servers/mysql

三、下载二进制包

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

四、解压到指定目录

tar -zxvf/root/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /data/servers/mysql

五、添加环境变量

sed -i '$a export PATH=$PATH:/data/servers/mysql/bin'/etc/profile; source /etc/profile

六、创建error.log(8.0版本在无error.log的情况下不会自动创建,会报错)

touch /data/mysql/log/error.log

chown mysql.mysql /data/mysql/log/error.log

七、初始化库表结构

mysqld --initialize --user=mysql --basedir=/data/servers/mysql/ --datadir=/data/mysql/data --innodb_undo_directory=/data/mysql/undo --innodb_undo_tablespaces=4 --socket=/data/mysql/tmp/mysql.socket --port=3358 --innodb_data_file_path=ibdata1:512M:autoextend --lower-case-table-names=1

注意8.0初始化必须指定这些参数,不然会报错

2018-07-04T07:54:21.696764Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.2018-07-04T07:54:22.297200Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine2018-07-04T07:54:22.297359Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.2018-07-04T07:54:22.297381Z 0 [ERROR] [MY-010119] [Server] Aborting

初始化产生的初始密码:

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Jod6BHNlkd*8

八、添加配置文件(仅供参考)

vim /data/servers/mysql/etc/my.cnf

[client]

port

3358

socket

/data/mysql/tmp/mysql.socket

[mysqld]

innodb_undo_tablespaces

4

innodb_undo_directory

/data/mysql/undo

######MySQL8.0自适应参数######

#innodb_log_file_size

1363148800

innodb_data_file_path

ibdata1:512M:autoextend

innodb_checksum_algorithm

crc32

explicit_defaults_for_timestamp

ON

innodb_buffer_pool_load_at_startup

ON

innodb_buffer_pool_dump_at_shutdown

ON

read_only

0

port

3358

socket

/data/mysql/tmp/mysql.socket

datadir

/data/mysql/data

basedir

/data/servers/mysql

user

mysql

innodb_dedicated_server

1

#---GLOBAL---#

#transaction-isolation

READ-COMMITTED

sql_mode

NO_ENGINE_SUBSTITUTION

default_authentication_plugin

mysql_native_password

######在MySQL8.0中注释掉此参数,不然就会有警告信息######

#secure_file_priv

default-storage-engine

INNODB

character-set-server

utf8mb4

######mysql8.0要求设定为0######

lower_case_table_names

1

log-error

/data/mysql/log/error.log

general_log

0

general_log_file

/data/mysql/log/general.log

pid-file

/data/mysql/data/mysql.pid

slow-query-log

slow_query_log_file

/data/mysql/log/slow.log

tmpdir

/data/mysql/tmp

long_query_time

0.1

#enableslaveslowlog

log_slow_slave_statements

1

thread_cache_size

512

table_open_cache

16384

table_definition_cache

16384

table_open_cache_instances

8

######弃用######

#metadata_locks_hash_instances

256

sort_buffer_size

256K

join_buffer_size

256K

read_buffer_size

256K

read_rnd_buffer_size

256K

key_buffer_size

64M

myisam_sort_buffer_size

64M

tmp_table_size

16M

max_heap_table_size

16M

open_files_limit

65535

######mysql8.0无此参数######

#query_cache_size

0

######mysql8.0无此参数######

#query_cache_type

0

log_bin_trust_function_creators

1

#---NETWORK---#

back_log

2000

max_allowed_packet

64M

interactive_timeout

28800

wait_timeout

28800

max-connections

2000

#skip-name-resolve

#---REPL---#

server-id

1234567

report_host

192.168.1.1

#nogtidconfig

log-bin

mysql-bin

binlog_format

row

binlog_row_image

full

######弃用######

#expire_logs_days

7

binlog_expire_logs_seconds

604800

relay-log

relay-log

log_slave_updates

slave_net_timeout

30

skip-slave-start

slave-parallel-workers

0

relay_log_info_repository

TABLE

master_info_repository

TABLE

sync_master_info

0

sync_relay_log_info

0

sync_binlog

1

#flushdisk

sync_relay_log

0

slave_rows_search_algorithms

INDEX_SCAN,HASH_SCAN

#rpl_semi_sync_master_enabled

1

#rpl_semi_sync_slave_enabled

1

#rpl_semi_sync_master_timeout

1000

relay_log_recovery

1

#---INNODB---#

innodb_adaptive_flushing

ON

innodb_adaptive_flushing_lwm

15

innodb_flushing_avg_loops

30

innodb_adaptive_hash_index

ON

innodb_data_home_dir

/data/mysql/data

innodb_file_per_table

ON

innodb_log_group_home_dir

/data/mysql/data

innodb_log_files_in_group

3

innodb_log_buffer_size

32M

innodb_flush_log_at_trx_commit

1

innodb_flush_log_at_timeout

1

innodb_lock_wait_timeout

30

######MySQL8.0自适应参数######

#innodb_flush_method

O_DIRECT

innodb_max_dirty_pages_pct

75

innodb_max_dirty_pages_pct_lwm

0

######MySQL8.0自适应参数######

#innodb_buffer_pool_size

100G

innodb_buffer_pool_instances

8

innodb_change_buffering

all

innodb_change_buffer_max_size

10

innodb_autoextend_increment

64

innodb_thread_concurrency

32

innodb_spin_wait_delay

6

innodb_sync_spin_loops

30

innodb_open_files

65535

innodb_old_blocks_time

30

innodb_online_alter_log_max_size

512M

innodb_write_io_threads

8

innodb_read_io_threads

8

innodb_flush_neighbors

0

innodb_io_capacity

3000

innodb_io_capacity_max

16000

innodb_lru_scan_depth

1024

innodb_purge_threads

4

innodb_purge_batch_size

400

######mysql8.0无此参数######

#innodb_file_format

Barracuda

######mysql8.0无此参数######

#innodb_large_prefix

ON

##innodb_force_load_corrupted

OFF

#innodb_force_recovery

0

#bufferpooldumpandload

innodb_buffer_pool_filename

ib_buffer_pool

innodb_buffer_pool_load_abort

OFF

innodb_buffer_pool_dump_now

OFF

innodb_buffer_pool_load_now

OFF

[mysqldump]

quick

max_allowed_packet

64M

[mysql]

no-auto-rehash

default-character-set

utf8mb4

prompt

(\u@\h)[\d]>

[myisamchk]

key_buffer_size

128M

sort_buffer_size

128M

read_buffer

2M

write_buffer

2M

[mysqlhotcopy]

interactive-timeout

chown mysql.mysql -R /data/servers/mysql

九、启动

/data/servers/mysql/bin/mysqld_safe --defaults-file=/servers/mysql/etc/my.cnf &

十、登录(初始密码)

/data/servers/mysql/bin/mysql -uroot -p --socket=/data/mysql/tmp/mysql.socket

十一、修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY "123456";(默认采用新加密方式)

注意8.0 默认采用新的加密方式:caching_sha2_password,会导致8.0以下版本的客户端连接不上:

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /datatt/servers/mysql/lib/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

解决:修改为老的加密方式:mysql_native_password

mysql> ALTER USER `test`@`%` IDENTIFIED WITH mysql_native_password BY "123456"; #修改加密规则

mysql> ALTER USER `test`@`%` IDENTIFIED BY "123456" PASSWORD EXPIRE NEVER; #永不过期

mysql> FLUSH PRIVILEGES; #刷新权限

或者在配置文件my.cnf修改参数采用老的加密方式

default_authentication_plugin = mysql_native_password

接下来可以自由发挥了~~~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MYSQL轻松学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、创建用户和组
  • 二、创建目录
  • 四、解压到指定目录
  • 五、添加环境变量
  • 六、创建error.log(8.0版本在无error.log的情况下不会自动创建,会报错)
  • 七、初始化库表结构
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档