阿里云docker安装mysql8.0

1. mysql的安装


docker pull mysql   #直接执行,会下载最新版本的mysql
docker pull mysql:8.0.16   #可以指定版本号

2. 在本地创建文件夹
找一个合适的文件夹,创建下面这些文件夹以及文件

创建文件夹:mkdir -p /usr/mysql/conf /usr/mysql/data /usr/mysql/logs /usr/mysql/mysql-files
创建文件:vim /usr/mysql/conf/my.cnf

my.cnf文件的内容

[client]
default-character-set=utf8mb4

[mysqld]
datadir = /usr/mysql/data
character_set_server=utf8mb4
collation_server=utf8mb4_bin
lower_case_table_names=1
secure-file-priv=NULL
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

3. 指定创建的mysql文件夹的权限
 

chmod -R 755 /usr/mysql

4. 创建自己的mysql容器
 

docker run -p 3306:3306 --name mysql --restart=unless-stopped -d -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -v /usr/mysql/logs:/logs -v /usr/mysql/mysql-files:/var/lib/mysql-files -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 mysql

5. 查看mysql-docker容器的id
 

docker ps

6. 进入mysql容器
 

docker exec -it 容器id bash
或者
docker exec -it 容器id /bin/bash

7. 设置远程连接
 

mysql -uroot -p
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
flush privileges

解释说明:
 

-p 端口映射
--restart unless-stopped  设置 开机后自动重启容器
-v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf    挂载配置文件
-v /usr/mysql/logs:/logs \      挂载日志
-v /usr/mysql/data:/var/lib/mysql \  挂载数据文件 持久化到主机
-v /usr/mysql/mysql-files:/var/lib/mysql-files    MySQL8之后需要同步这个文件夹
-v /etc/localtime:/etc/localtime    容器时间与宿主机同步
-e MYSQL_ROOT_PASSWORD=123456    设置密码
-d 后台启动,mysql

拷贝数据库
 

docker cp *.sql mysql:/home  复制sql文件到容器内
docker exec -it mysql /bin/bash 进入容器
cd home 进入复制的路径
mysql -uroot -p 后输入密码123456 进入数据库
show global variables like '%lower_case%';    查看mysql是否大小写敏感,linux默认敏感,win默认不敏感
create database 数据库名;  创建数据库
use 数据库名;  切换到对应数据库
source *.sql 执行sql脚本
select * from sys_user;  测试查询
exit 退出

你可能感兴趣的:(Java学习,docker,阿里云,mysql)