【Docker】 使用Docker在阿里云上部署 MySQL 及 Redis 云数据库。

部署MySQL

1.拉取镜像

docker pull mysql
docker pull mysql:版本号

 

2.创建容器

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-d mysql --lower_case_table_names=1

-p 映射端口号

-e 设置密码

-name 设置容器名称发

-d 所用镜像

-v 把容器内部文件挂载至宿主机中,方便修改。

--lower_case_table_names=1 忽略表名大小写,存储都用小写,不加可能无法正常启动

 

3.修改my.inf文件

执行完第2步后会发现有报错,因为my.cnf没有配置成功。

【Docker】 使用Docker在阿里云上部署 MySQL 及 Redis 云数据库。

 

 

 删除宿主机 /usr/local/docker/mysql/conf/ 中的  my.cnf 文件夹,并在 /usr/local/src/mysql/conf/ 新建my.cnf文件,文件内容如下所示:

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=10000
default-time_zone='+8:00'
character-set-client-handshake=FALSE
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
# Custom config should go here
!includedir /etc/mysql/conf.d/

 

4. 开启容器

Docker start mysql

 

5. 进入容器,登录MySQL

docker exec -it mysql bash
mysql  -uroot -p

  

6. 修改密码 MySQL 8.0.4 之后的方法,并刷新系统。

alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
flush privileges;

 

7.新建一个用户用于远程访问,并给这个用户访问权限。

CREATE USER '新用户名称'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO '新用户名'@'%';

 

8.在客户端电脑访问阿里云上的数据库

 ps.在阿里云上需要放通3306端口!如果连不上请检查云服务器网络安全组设置!

【Docker】 使用Docker在阿里云上部署 MySQL 及 Redis 云数据库。

【Docker】 使用Docker在阿里云上部署 MySQL 及 Redis 云数据库。

 

 

部署Redis

 

上一篇:【解决】mysql密码不对,忘记密码,强制修改mysql密码!


下一篇:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: N