Docker部署
原创小于 1 分钟
安装好Docker,然后执行下面的脚本。
> docker run -d --name imysql --network=host \
-v /home/work/volumes/mysql/my.cnf:/etc/my.cnf \
-v /home/work/volumes/mysql/init:/docker-entrypoint-initdb.d/ \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_ROOT_HOST=% \
-e TZ=Asia/Shanghai \
-p 3306:3306 \
--privileged=true \
mysql:8.0.37
在指定文件夹下新建my.conf
配置文件,内容如下。
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
bind-address = 0.0.0.0
log-bin=mysql-bin
binlog-format=ROW
server_id=1
skip-name-resolve
default_authentication_plugin=caching_sha2_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
在指定文件夹下新建init.sql
初始化脚本,内容如下。
-- 脚本
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
USE mysql;
CREATE DATABASE IF NOT EXISTS `itechthink` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
客户端连接MySQL如果遇到Public Key Retrieval is not allowed
错误,那么进入容器修改。
> USE mysql;
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
> FLUSH PRIVILEGES;
创建测试MySQL用的表结构。
> CREATE TABLE example_mysql_table(
id INT PRIMARY KEY,
name VARCHAR(50)
);
感谢支持
更多内容,请移步《超级个体》。