在docker中安装mysql
首先,确认您已安装好docker。如果没有安装,可前往docker官方网站安装:https://docs.docker.com/engine/install/centos/
这里安装的mysql版本是8.0.25
,其他版本请修改版本号。
# 拉取mysql8.0.25的docker镜像
docker pull mysql:8.0.25
# 创建映射的文件夹
mkdir -p /v/mysql/conf
mkdir -p /v/mysql/data
mkdir -p /v/mysql/mysql-files
mkdir -p /v/mysql/log
# 进入配置文件夹
cd /v/mysql/conf
# 新建一个 my.cnf 配置文件
touch my.cnf
# 编辑 my.cnf 文件
vi my.cnf
写入以下内容
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 数据库忽略大小写
lower_case_table_names = 1
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
collation_server = utf8mb4_general_ci
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
启动
docker run -d -p 3306:3306 \
--restart=always \
--privileged=true \
-v /v/mysql/log:/var/log/mysql \
-v /v/mysql/data:/var/lib/mysql \
-v /v/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /v/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
--name mysql mysql:8.0.25
MYSQL_ROOT_PASSWORD=123456 设置默认密码为
123456
查看日志
docker logs -f mysql
进入容器
docker exec -it mysql mysql -uroot -p
配置数据库允许远程访问
use mysql;
select host, user, plugin, authentication_string, password_expired from user;
update user set host='%' where user='root';
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
exit