docker安装mysql(v5.6 v5.7 v8)

1.mysql5.6版本

1.1拉取镜像

docker pull mysql:5.6

1.2创建挂载目录

创建目录mysql,用于存放后面的相关东西。

mkdir -p /opt/mysql/data /opt/mysql/logs /opt/mysql/conf

1.3创建docker容器

docker run -d --name mysql \
      -v /opt/mysql/data:/var/lib/mysql \
      -v /opt/mysql/conf:/etc/mysql/conf.d \
      -v /opt/mysql/logs:/logs \
      -e MYSQL_ROOT_PASSWORD=123456 \
      -p 3333:3306 \
      mysql:5.6

这里指定了初识密码是123456

1.4配置文件

Mysql的配置文件:
!includedir /etc/mysql/conf.d/
我们已经将这个路径映射到本地了 /opt/mysql/conf 所以我们直接将配置放到本地这个目录就可以了.

新建配置文件

vim /opt/mysql/conf/utf8.cnf

添加不区分大小写1-不敏感,0-敏感

https://blog.csdn.net/vkingnew/article/details/80613043

意思是配置文件在这目录下
如果出现乱码可以添加

添加以下内容

#或者这个配置  
#[mysqld] 
#lower_case_table_names=1
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8' 

1.5重启容器

docker restart mysql

1.6新建用户

1.6.1 进入docker容器

docker exec -it mysql bash

查看版本

  1. 容器中:
    mysql -V
    
  2. MySQL中:select version();或者status

1.6.2 创建账户,比如 mysql

我之所以创建用户发现是因为默认的root用户没登上.
如果你用root用户能远程登录,可以选择不创建.

授权
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用 %
登录MySQL

mysql -uroot -p123456;
create user 'mysql'@'%' identified by '000000';

https://www.jb51.net/article/31850.htm

1.6.3 赋予权限

with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

grant all privileges on *.* to 'mysql'@'%' with grant option;

1.6.4改密码&授权超用户

flush privileges;

如果抱错参考:
https://blog.csdn.net/shenhonglei1234/article/details/84786443
https://blog.csdn.net/vin_1991216/article/details/82632710

exit 退出mysql  
exit 退出容器  

1.6.5重启容器

docker restart mysql

查看mysql日志

docker logs mysql

2.mysql5.7和mysql8版本

安装方式和上面一样
知识我们拉去和运行的镜像不是5.6了,而是5.7和8

docker pull mysql:5.7

# 最新的就是8版本  
docker pull mysql:latest
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章