docker安装mysql镜像
1.准备工作mkdir mysqlcd mysqlmkdir datamkdir confcd confvi my.conf#按i输入下面的配置#完成后按esc键退出编辑的状态#先按:键再按w键再按q键 再按enter键 报存退出[mysqld]character-set-server=utf8mb4[client]defau...
·
1.准备工作
mkdir mysql
cd mysql
mkdir data
mkdir conf
cd conf
vi my.conf
# 按i 输入下面的配置
# 完成后按esc键退出编辑的状态
# 先按:键 再按w键 再按q键 再按enter键 报存退出
[mysqld]
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
cd ../
# 切换到mysql 目录下
vi start.sh
# 输入以下内容,按上面步骤退出保存
#!/bin/bash
cur_dir=`pwd`
docker stop anju-mysql
docker rm anju-mysql
docker run --name anju-mysql -v ${cul_dir}/conf:/etc/mysql/conf.d -v ${cur_dir}/data:/var/lib/mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
#!/bin/bash
docker stop anju-mysql
docker rm anju-mysql
docker run --name anju-mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/data:/var/lib/mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
注:为什么镜像类目挂载呢?
镜像关闭的时候mysql数据会丢失,需要和data目录挂载同步保存,才能再次启动的时候获取数据。
挂载配置文件是同样的道理。
2.启动镜像创建容器
sh start.sh
# 运行脚本,容器启动,如果没有mysql镜像会自动拉取镜像
# 但是也可以直接先拉取镜像
dokcer pull mysql
太慢了,因为没有配置镜像员,直接拉的是docker的镜像
3.查看端口是否启动
netstat -na|grep 3306
docker ps
4.如果安装完成在服务其上可以访问mysql,远程访问不了,需要关闭服务防火墙和开放mysql远程权限
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
开放mysql远程权限
#1.查询正在运行的容器id
docker ps
#2.进入运行的容器内部 把<id>替换成 你的id 6c****
docker exec -it <id> /bin/bash
#3.进入mysql
mysql -uroot -p
#4.输入密码
******
#5.mysql 8 把创建用户和权限控制分开了,如果已经创建了用户可以直接执行下面
ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
#6.开放权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
#7.刷新配置,使其生效
flush privileges;
如果没有不想用root用户给别的ip用就需要现创建用户和权限
CREATE USER 'root'@'%' IDENTIFIED BY '111111';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# mysql 8 意思创建用户 和权限控制分开了,如果已经创建了用户可以直接执行下面
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
flush privileges;
更多推荐
已为社区贡献2条内容
所有评论(0)