docker 安装 mysql

参考:https://blog.csdn.net/xsj34567/article/details/80940238

 https://hub.docker.com/_/mysql

1|0安装


1
2
3
4
#2020-3-16更新
#使用以下命令启动容器,不需要其他参数了
 
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql/data:/var/lib/mysql --name mysql --restart=always -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci<br><br>

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
docker pull mysql
 
docker run \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /data/mysql/data:/var/lib/mysql:rw \
  -v /data/mysql/log:/var/log/mysql:rw \
  -v /data/mysql/mysql-files:/var/lib/mysql-files:rw \
  -v /data/mysql/conf:/etc/mysql/conf.d:rw \
  -v /etc/localtime:/etc/localtime:ro \
  --name mysql8 \
  --restart=always \
  -d mysql
  --lower_case_table_names=1
#单行
#docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql/data:/var/lib/mysql:rw -v /data/mysql/log:/var/log/mysql:rw -v /data/mysql/conf:/etc/mysql:rw -v /data/mysql/mysql-files:/var/lib/mysql-files:rw -v /etc/localtime:/etc/localtime:ro --name mysql8 --restart=always -d mysql --lower_case_table_names=1#挂载conf.d 仅在以自定义配置文件运行mysql容器时使用;
#以下为3个常用配置:
--lower-case-table-names=1
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
#如果还需要知道其他配置,可以使用以下命令:
docker run -it --rm mysql:tag --verbose --help
mysql/data 是数据库文件存放的地方。必须要挂载到容器外,否则容器重启一切数据消失。
mysql/log 是数据库主生的log。建议挂载到容器外。
mysql/conf 是数据库的配置文件 /etc/localtime:/etc/localtime:ro 是让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。

 

 

2|0配置mysql 用户


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#进入容器<br>docker exec -it mysql bash<br><br>#root登陆 ,输入密码<br>mysql -u root -p<br><br>#查询所有用户<br>use mysql;
select user,host,authentication_string,plugin from user;
 
#创建一个用户
create user 'web'@'%' identified by '123456';
 
#授权
grant all privileges on *.* to 'web'@'%' with grant option;
 
#设置所有host可连接
update user set host='%' where user='web';
 
#设置密码永不过期
ALTER USER 'web'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
 
#设置密码类型
ALTER USER 'web'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
 
#刷新
FLUSH PRIVILEGES;

  

1
2
3
#创建数据库
 
CREATE DATABASE `Core` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';

  


__EOF__

作  者码农搞事情
出  处https://www.cnblogs.com/fmp/p/docker-mysql.html
关于博主:一本正经写程序&不务正业搞事情
版权声明:欢迎分享,转载请注明出处。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   码农搞事情  阅读(516)  评论(3编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
0
0
关注
跳至底部
点击右上角即可分享
微信分享提示