docker search mysql
docker pull mysql
docker images
mysql8版本,一但mysql正式运行,就不能再设置忽略大小写了,强行设置会导致mysql服务启动不了,所以,我们创建容器时必须将mysql配置挂载到容器上。
1)创建文件夹/etc/mysql.d
cd /etc/ // 进入etc目录
mkdir mysql.d // 创建文件夹mysql.d,名称可变
2)在mysql.d文件夹中增加配置文件my.cnf,增加配置
[mysqld]
lower_case_table_names=1
用cat命令查看文件内容
3)重新创建并运行容器
docker run -p 3306:3306 -v /etc/mysql.d:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 - --name mysql -d mysql
mysql配置挂载到容器上
-p 3306:3306 将主机3306端口映射到容器3306端口
-e MYSQL_ROOT_PASSWORD=abc123 设置远程登录的root用户密码为abc123
–name zyz-name 可选,设置容器别名 mysql 镜像名称
-v 将mysql的配置文件挂载到主机
-d 后台运行容器,并返回容器ID
4)查看效果,执行命令后看到lower_case_table_names=1表示成功。
问题
当本地连接不到数据库的时候
is not allowed to connect tothis mmysql server
1.登录mysql
mysql -u root -p
2.切换数据库
user mysql
3.查看当前mysql数据库的连接
select host from user where user=‘root’;
这个样子是只可以本地的。
4.更新链接权限
update user set host = ‘%’ where user =‘root’;
5.刷新配置
flush privileges;