Docker通过挂载安装mysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Docker通过挂载安装mysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3184字,纯文字阅读大概需要5分钟。
内容图文
![Docker通过挂载安装mysql](/upload/InfoBanner/zyjiaocheng/901/356b1a66934948859a14c2981dfece15.jpg)
一、安装
mkdir -p ./docker/mysql
cd docker/
cd mysql/
mkdir conf
mkdir data
mkdir logs
mkdir mysql-files
cd conf
vim my.cnf
[mysqld]
user=mysql
docker pull mysql
docker run -e MYSQL_ROOT_PASSWORD=KMSD2016064 -d -p 3306:3306 --name mysql01 mysql
docker run -e MYSQL_ROOT_PASSWORD=KMSD2016064 -d -p 3306:3306 -v ~/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v ~/docker/mysql/data:/var/lib/mysql -v ~/docker/mysql/logs:/logs -v ~/docker/mysql/mysql-files:/var/lib/mysql-files --name mysql01 mysql
二、修改默认字符集并创建用户
docke exec -it mysql01 bash
mysql -uroot -p
修改默认字符集
show variables like '%char%'
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
vim mycnf
#insert [mysqld] user=mysql character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8
mysql> show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
使用Navicat访问,由于使用的是mysql最新版本,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,加密方式变了
alter user 'root'@'%' identified by 'KMSD2016064' password expire never; 改变加密方式
alter user 'root'@'%' identified with mysql_native_password by 'KMSD2016064'; 更新用户密码
flush privileges;
正常情况下我们不会把root暴露出去,所以需要创建新的用户
create user 'jesen'@'%' identified by 'KMSD2016064';
grant all privileges on *.* to 'jesen'@'%';
alter user 'jesen'@'%' identified with mysql_native_password by 'KMSD2016064';
三、官方参考
字符集编码和创建用户密码也可以在docker run 的时候指定,具体可参考 https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/docker-mysql-more-topics.html:
docker run -d -p 3306:3306 -e MYSQL_USER="test" -e MYSQL_PASSWORD="password" -e MYSQL_ROOT_PASSWORD="password" --name [Name] [ImageName] --character-set-server=utf8 --collation-server=utf8_general_ci
内容总结
以上是互联网集市为您收集整理的Docker通过挂载安装mysql全部内容,希望文章能够帮你解决Docker通过挂载安装mysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。