docker部署mysql5.7

--------------拉取容器------------

docker pull mysql:5.7

--------------創建目錄------------

mkdir /data/docker/mysql/conf

mkdir /data/docker/mysql/data

mkdir /data/docker/mysql/logs

--------------修改mysql配置文件,內容在最下面------------

vi /data/docker/mysql/conf/my.cnf

--------------分配權限------------

chmod -R 777 /data/docker/mysql/

--------------創建容器------------

docker run --net=host --name mysql --restart=always \

-v /data/docker/mysql/conf:/etc/mysql \

-v /data/docker/mysql/logs:/var/log/mysql \

-v /data/docker/mysql/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

-d mysql:5.7

--------------進入容器------------

docker exec -it mysql /bin/bash

--------------進入容器后,并登錄mysql------------

mysql -uroot -p123456

grant all privileges on *.* to root@'%' identified by "123456";

create user canal identified by 'canal';

grant select, replication slave, replication client on *.* to 'canal'@'%';

flush privileges;

--------------my.cnf內容------------

[client]

#客戶端設置

port????= 3306

socket????= /data/mysql/data/mysql.sock

default-character-set = utf8mb4

[mysqld]

user????= mysql

port????= 3306

socket????= /data/mysql/data/mysql.sock

server-id = 1

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

#安裝目錄

basedir????= /usr/local/mysql

#數據庫存放目錄

datadir????= /var/lib/mysql/

#系統數據庫編碼設置,排序規則

character_set_server = utf8mb4

collation_server = utf8mb4_bin

back_log = 1024

explicit_defaults_for_timestamp = ON

lower_case_table_names = 0

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

max_connections = 512

max_connect_errors = 1000000

table_open_cache = 1024

max_allowed_packet = 8M

thread_stack = 256K

thread_cache_size = 384

skip-external-locking

interactive_timeout = 600

wait_timeout = 3600

log_timestamps = SYSTEM

log-error = /data/mysql/logs/error.log

#默認使用InnoDB存儲引擎

default_storage_engine = InnoDB

innodb_buffer_pool_size = 64M

innodb_purge_threads = 1

innodb_log_buffer_size = 2M

innodb_log_file_size = 128M

innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 32M

myisam_sort_buffer_size = 8M

# MySQL重建索引時所允許的最大臨時文件的大小

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

# 開啟 binlog

log-bin=mysql-bin

# 選擇 ROW 模式

binlog-format=ROW

# 配置 MySQL replaction 需要定義,不要和 canal 的 slaveId 重復

server_id=1

[mysqldump]

quick

max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。