记录一次docker安装mysql8.3

admin6个月前实践出真知597

配置文件 /data/mysql8-data/conf/my.cnf

[mysql]
# 设置mysql控制台默认字符集
default-character-set=utf8mb4
# 需要和[mysqld]中的保持一致,不然本地连接跳过权限连接有问题
socket=/var/lib/mysql/mysqld.sock

[client]
# 设置mysql客户端 默认字符集(如 mysql、mysqldump、mysqladmin等)
default-character-set=utf8mb4

[mysqld]
bind-address=0.0.0.0
#设置3306端⼝
port=3306
#设置mysql时区 或 default-time-zone='+08:00' 表示东八区
default-time-zone='Asia/Shanghai'
#默认认证插件更改为 mysql_native_password(可以兼容5.7版)
default_authentication_plugin=mysql_native_password
#数据提交⼤⼩
max_allowed_packet=30M
#设置mysql的安装⽬录(win系统)
#basedir=D:\mysql5.7
#设置mysql数据库的数据的存放⽬录
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysqld.sock
#允许最⼤连接数
max_connections=200
#服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8mb4
#设置默认排序规则
collation-server=utf8mb4_general_ci
#创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
#开启查询缓存
explicit_defaults_for_timestamp=true
#sqlmode模式
# mysql5.7
#sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# mysql8
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

#跳过权限验证 ⾸次启动服务或维护时候打开 mysql8会连网络一起跳过,所以维护时候在本地只能用 mysql -u root -p  不要指定host
#skip-grant-tables

启动脚本

docker run --restart=always --name mysql8-dev \
-v  /data/mysql8-data/conf:/etc/mysql \
-v /data/mysql8-data/data:/var/lib/mysql \ 
-e MYSQL_ROOT_PASSWORD=123456 -d \
-p 3306:3306 mysql:8.3 \
--defaults-file=/etc/mysql/my.cnf


用户管理

# 创建可远程访问用户 
CREATE USER 'myuser'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 设置权限
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

# 修改某个用户密码加密模式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

其他

#修改数据库排序模式
ALTER DATABASE your_database_name COLLATE = utf8mb4_general_ci;


相关文章

关于时间的处理(时间范围生成,mysql按照天,周,月统计)

mysql的查询语句 #周  select FROM_UNIXTIME(create_time,'%Y%u') weeks,count(cas...

linux下利用nc监听端口的玩法

ubuntu/debian开机启动设置,移步这里家里有一些小服务器玩具,由于家里网络都是dhcp获取ip地址,ip地址可能会出现变动。那么如果在服务器上监听一个特殊端口,通过内网扫描指定的特殊端口,即...

docker部署minio

docker部署minio

docker安装方式 移步 https://note.centos7.online/?id=27一、拉取镜像docker pull minio/minio二、启动容器do...

安卓调用webview中iframe定义方法(适用于数据回调给webview)

首先在html中用js获取到当前页面的层级//递归获取当前嵌套在iframe页面的层级位置     function getSelfWindowPa...

PHP造一个$_PUT

$_PUT = array(); if ('PUT' == $_SERVER['REQUEST_METHOD'])&...

openfeign在单体项目用法

公司项目需要与其他系统对接,常规的httpClient写法,不符合我大道至简的理念,于是研究了一下openfeign,本文只是提供一个思路,具体还需要根据实际场景进行完善。一、加入依赖我使用的spri...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。