首先上来还是直接操作吧,如果有需要先安装docekr的话,可以自己去docker的官网去查看和下载 docker安装详情 大家可以自行选择适合自己的系统进行安装,按照步骤一步一步来的话应该是没啥问题的。
第一步的话还是首先去搜索mysql的容器
sudo docker search mysql #普通用户需要加sudo 冒号后是版本号
拉取mysql镜像
sudo docker pull mysql:5.5 #冒号后是版本号
拉取下来后查看拉取的镜像
sudo docker image ls
运行拉取下来的镜像构建成容器并且挂载配置文件
sudo docker run --name mysql -p 3306:3306 -v ./conf:/etc/mysql/conf.d -v ./logs:/logs -v ./data:/var/lib/mysql -e MYSQL\_ROOT\_PASSWORD=123 -d mysql/mysql-server:5.5
- -v: 映射目录/文件
- -e: 运行参数 初始化 root 用户的密码
- -d: 后台运行 mysql/mysql-server:5.5 下载的镜像名字加标签
- -v:./conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。//配置文件目录
- -v: ./logs:/logs:将主机当前目录下的 logs 目录挂载到容器的/logs。//日志目录
- -v: ./data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。//数据库文件存放目录
如果不需要挂载配置文件的话
sudo docker run --name mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123 -d mysql/mysql-server:5.5
运行起来mysql容器后目前暂时还是无法连接mysql的,需要修改一些配置才可远程连接到mysql服务
进入mysql容器
sudo docker exec -it mysql bash
连接到mysql
mysql -u root -p #密码在上面设置了是 123
输入如下代码修改mysql的远程连接权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
在此之后即可用连接工具连接到mysql了,账号是root,密码是 123
但是呢,在linux内mysql是区分大小写的,如果想修改此项配置的话
修改etc/my.cnf
在[mysqld]的节点下面添加一行lower_case_table_names=1 #表名全部为小写,避免出现大小写敏感
参数含义:
lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
unix下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2
重启mysql服务,service mysqld restart 即可
查看mysql的ip地址:
sudo docker inspect mysql