创建mysql容器
过于基本的操作请直接参考这篇博客:https://www.jianshu.com/p/a4e586a82426
- 拉:
- run:
- 进入:
前两步不讲,这一步要说明一下,进入的时候可以传参:docker exec -it mysql1 mysql -uroot -p
这样的方式,可以直接进入到mysql中,而不是一般的用bash进入的方式。
修改mysql的配置文件
- 可以找到配置文件的目录:一般是在
/etc/mysql/mysql.conf.d/mysqld.cnf
下 - 这时候可以直接在docker容器内安装好vim,一般是没有vim的,那样不太方便(当然,你也可以选择另一种方式:cp出来,在宿主机上完成修改后再cp回去),附带docker容器安装vim的教程。之后直接用vim修改就好了。
- 在文件中添加一句话:
lower_case_table_names=1
- 然后输入命令重启即可:‘service mysql restart’
思考:这样的命令会导致mysql的docker容器关闭,因为守护进程被关闭了,但是,为什么我重启后,依然可以用之前的数据,也就是说,容器stop不会影响到内部的数据?
如果有遇到mysql可以连接,但是过一段时间又不可以连接的情况
- 原因:mysql默认设置是8小时内没有人连接就关闭了,你可以设置这个时间为一年,可以避免这样的情况。
- 教程:和上面一样,只是修改的时候,加的是这么一个配置:
wait_timeout =300000
(数字我随便打的,反正最多一年,单位是秒,你看着办)
补充一些关于mysql的心得
- linux下的mysql的表名是区分大小写的,但是window下不区分。所以,如果遇到了同一个sql语句在win下可以查询,但是linux却不可以,那就要思考是不是表名的问题了。
- mysql的版本是5.7或者8.0 。jdbc驱动8.0(即多了一个.cj的那个包)都可以访问