阿里云服务器Docker上安装MySql--详细步骤解析

1. mysql的安装

  1. docker pull mysql #直接执行,会下载最新版本的mysql

  2. docker pull mysql:8.0.16 #可以指定版本号

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

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

  2. 创建文件: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

 

 红框标注的字段代表要创建的镜像容器,如果不搭配版本号,默认就是最新版的;如果想拉取mysql指定版本号的:只需[mysql:8.0.16] 加上版本号即可

5. 查看mysql-docker容器的id
 

docker ps

6. 进入mysql容器
 

  1. docker exec -it 容器id bash

  2. 或者

  3. docker exec -it 容器id /bin/bash

7. 设置远程连接
 

  1. mysql -uroot -p

  2. use mysql

  3. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

  4. flush privileges;

解释说明:
 

  1. -p 端口映射

  2. --restart unless-stopped 设置 开机后自动重启容器

  3. -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf 挂载配置文件

  4. -v /usr/mysql/logs:/logs \ 挂载日志

  5. -v /usr/mysql/data:/var/lib/mysql \ 挂载数据文件 持久化到主机

  6. -v /usr/mysql/mysql-files:/var/lib/mysql-files MySQL8之后需要同步这个文件夹

  7. -v /etc/localtime:/etc/localtime 容器时间与宿主机同步

  8. -e MYSQL_ROOT_PASSWORD=123456 设置密码

  9. -d 后台启动,mysql

 7.2:如果远程连接失败报错,可以换一个命令重新尝试;

//使用数据库

use mysql;

//修改密码

ALTER USER USER() IDENTIFIED BY '123456';

//刷新

flush privileges;

//开启MySQL远程访问权限 允许远程连接

update user set host = '%' where user = 'root';

 

8.配置mysql开机自启

//设置开机启动

mysql systemctl enable mysqld.service

//检查是否已经安装了开机自动启动

systemctl list-unit-files | grep mysqld

//开启服务

systemctl start mysqld.service

 9.刷新权限(记得加引号)

flush privileges;

 10.阿里云服务器配置Mysql端口

进入到阿里云云服务器管理控制台,点击安全组

 点击管理规则

 添加要开放的端口号

 快速添加的页面,点击mysql(3306)即可

 手动添加的操作:

这样就可以连接自己阿里云上的mysql了
在这里插入图片描述

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值