新手:阿里云CentOS 8.0 64位部署mysql8

1:安装mysql,查看镜像是否安装成功

[root@whale ~]# docker pull mysql:8.0.23  #安装mysql
[root@whale ~]# docker images             #出现mysql表示安装成功

2:创建配置文件

[root@whale ~]# mkdir -p /usr/mysql/conf /usr/mysql/data
[root@whale ~]# chmod -R 755 /usr/mysql/
[root@whale ~]# vim /usr/mysql/conf/my.cnf

在my.cnf中写入以下内容:

[client]

#socket = /usr/mysql/mysqld.sock

default-character-set = utf8mb4

[mysqld]

#pid-file        = /var/run/mysqld/mysqld.pid

#socket          = /var/run/mysqld/mysqld.sock

#datadir         = /var/lib/mysql

#socket = /usr/mysql/mysqld.sock

#pid-file = /usr/mysql/mysqld.pid

datadir = /usr/mysql/data

character_set_server = utf8mb4

collation_server = utf8mb4_bin

secure-file-priv= NULL

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Custom config should go here

!includedir /etc/mysql/conf.d/

3:启动创建容器

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

参数解释:

-d --name mysql1           									#指定数据库名
-v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf                 #指定配置文件
-v /usr/mysql/data:/var/lib/mysql							#挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录
-p 3307:3306												#端口映射,主机(即阿里云服务器)3307端口映射到容器3306端口,既可以通过主机3307端口访问该数据库
-e MYSQL_ROOT_PASSWORD=123456								#密码

4:查看容器是否启动 docker ps

[root@whale ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
749560a81620   mysql:8.0.23   "docker-entrypoint.s…"   40 minutes ago   Up 40 minutes   33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp   mysql1
[root@whale ~]#

5:修改mysql密码以及可访问主机

5.1 访问数据库

[root@whale ~]# docker exec -it mysql1 /bin/bash
root@749560a81620:/# mysql -uroot -p123456

5.2 修改访问主机以及密码等,设置为所有主机可访问

mysql> use mysql
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> flush privileges

5.3 查看数据库密码 select host,user,authentication_string,plugin from user;

mysql> select host,user,authentication_string,plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host      | user             | authentication_string                                                  | plugin                |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| %         | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              | mysql_native_password |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | root             | $A$005$R@:_[-i!9|/P
8iLECTNcEjxVwVWlIiJF593EnYdBwj2GlwzidW/oRc7uT5 | caching_sha2_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
5 rows in set (0.00 sec)

表格内容第一行变成

| %         | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              | mysql_native_password 

表示修改成功,可从外部访问该数据库

6:访问测试

6.1在阿里云 控制台=>安全组 中授权端口访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kBIkWdyi-1622973313656)(C:\Users\yuzhou\AppData\Roaming\Typora\typora-user-images\image-20210606174912626.png)]

6.2 Navicat测试访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLyPpiVz-1622973313661)(C:\Users\yuzhou\AppData\Roaming\Typora\typora-user-images\image-20210606175119161.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值