从零到壹搭建一个商城架构--Docker安装MySQL

Docker安装MySQL

1 、到docker镜像仓库查看mysql版本
sudo docker pull mysql:5.7
2、查看下载的mysql
sudo docker images
3、创建实例并启动
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

参数说明:

​ -p 3306:3306:将容器的3306端口映射到主机的3306端口

​ -v /mydata/mysql/conf:/etc/mysql:将配置文件挂载到主机

​ -v /mysdata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机

​ -v /mydata/mysql/data:/var/lib/mysql:将配置文件夹挂载到主机

​ -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

在这里插入图片描述

4 、配置文件内容

找到我们本地的mydata/mysql/conf

cd /mydata/mysql/conf
vi my.cnf
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

注意:解决MySQL连接慢的问题

在配置文件中加入如下,并重启mysql

[mysqld]

skip-name-resolve

解释:

skip-name-resolve:跳过域名解析

5 、重启mysql
docker restart mysql
6、docker启动后,mysql也跟着启动
docker update mysql --restart=always
7、使用Navicat数据库工具连接mysql

在这里插入图片描述

8、遇到的问题
  • 在执行更新操作的时候,会报

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

以上错误,我们设置my.cnf文件,添加

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

需要注意的一点是一定要添加在[mysqld]配置内,这样添加完后重启mysql才会生效

  • 我们用工具连接数据库的时候,可能会出现连不上数据库的情况

    首先我们进入到Docker,连上数据库

    docker exec -it mysql /bin/bash
    mysql -uroot -p
    

输入数据库密码,前面我们设置的启动密码是root

## 从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
## 刷新权限
FLUSH PRIVILEGES;

退出后,重启

docker restart mysql
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章