docker安装mysql
java docker 开发 6

创建宿主机目录(用于持久化配置和数据)

mkdir -p /mydata/data1/docker/mysql8.0.42/{conf,data,log}

配置 my.cnf 文件

vi /mydata/data1/docker/mysql8.0.42/conf/my.cnf
[mysqld]
# 基础设置
user=mysql
port=3306
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql

# 网络与安全
bind-address=0.0.0.0            # 允许所有IP远程访问
skip-name-resolve=1              # 禁用DNS解析,提升性能
default_authentication_plugin=mysql_native_password  # 兼容旧客户端

# 字符集与时区
character-set-server=utf8mb4     # 支持Emoji及四字节字符
collation-server=utf8mb4_unicode_ci
default-time_zone='+8:00'        # 设置东八区时区

# 日志管理
log_error=/var/log/mysql/error.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=2                # 超过2秒的查询视为慢查询

[client]
default-character-set=utf8mb4    # 客户端字符集统一

启动MySQL容器

docker run -d \
--name i_mysql8 \
-p 3001:3306 \
-v /mydata/data1/docker/mysql8.0.42/conf:/etc/mysql/conf.d \
-v /mydata/data1/docker/mysql8.0.42/data:/var/lib/mysql \
-v /mydata/data1/docker/mysql8.0.42/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root.123 \
-e TZ=Asia/Shanghai \
mysql:8.0.42 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

配置远程访问权限

docker exec -it i_mysql8 mysql -uroot -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root.123';
FLUSH PRIVILEGES;

生产环境创建专用用户并限制ip

CREATE USER 'admin'@'192.168.1.%' IDENTIFIED BY 'UserPass!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'192.168.1.%';
FLUSH PRIVILEGES;

docker安装mysql
http://111.180.147.175:37008/archives/dockeran-zhuang-mysql
作者
iYll
发布于
更新于
许可