阿里云服务使用docker安装mysql

建议:多看几篇相关文章,掌握整个流程,想清楚,再执行,错了再重新弄太麻烦,感谢以下链接文章支持

一,
1 ,拉取mysql镜像,采用网易加速地址
docker pull hub.c.163.com/library/mysql:5.7
查看镜像
docker images

2 ,重命名镜像名
docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7
参考
https://segmentfault.com/a/1190000019708313

二,创建mysql容器
1,在本地创建mysql的映射目录
mkdir -p /home/mysql/data /home/mysql/logs /home/mysql/conf

2,在/home/mysql/conf中创建 *.cnf 文件(my.cnf)

touch my.cnf
3,创建容器,将数据,日志,配置文件映射到本机
先别执行,尤其注意配置文件的挂载,
docker run --name mysql -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/logs:/var/log -v /home/mysql/conf/:/etc/mysql/ -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

-v /home/mysql/conf/:/etc/mysql/,意思是本地服务器/home/mysql/conf/文件,与mysql容器/etc/mysql/,文件进行同步
而我自己的服务器,etc,压根不存mysql文件,/etc/mysql/mysql.conf.d,我直接在etc下创建mysql,文件,再找个my.cnf,丢到etc/mysql/下,my.cnf模板,见文章最后
上传文件,rz,如果无法上传执行如下
yum install lrzsz -y

在/etc下没有my.cnf 解决办法
https://blog.csdn.net/weixin_38455187/article/details/83450961
https://blog.csdn.net/qq_35823078/article/details/88874493 
配置文件及乱码
https://www.cnblogs.com/zhangs1986/p/6603334.html

-d: 后台运行容器

-p 将容器的端口映射到本机的端口

-v 将主机目录挂载到容器的目录

-e 设置参数

4,启动mysql容器 
docker start mysql
查看是否运行:docker ps
注意:centos7 systemctl start mysql 没用,应该是docker安装的只能用docker方式启动

5,进入data目录,是否生成数据
cd ../data

三,连接数据库
1,进入mysql容器
docker exec -it mysql bash

2,登录
mysql -uroot -p

密码是创建容器时默认的123456
查看数据库 show databases,退出mysql quit

3,并设置远程的授权等信息

 grant all privileges on *.* to root@"%" identified by "123456" with grant option; 
 
 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  
 flush privileges;  
 
四,本地连接mysql,报错10036
 有的说,修改配置文件,关闭防火墙,授权远程连接,结果都不行,本文正解,开放阿里云服务对mysql 3306端口
 https://www.itbulu.com/aliyun-security-group.html

如何添加配置,先进入实例


 
 
 my.cnf模板
 
 [client]
#password    = your_password
port        = 3306
socket        = /usr/local/mysql/data/mysql.sock
default-character-set=utf8

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        = 3306
socket        = /usr/local/mysql/data/mysql.sock
datadir=/home/mysql/data
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-storage-engine=INNODB
character_set_server=utf8
lower_case_table_names=1

 


版权声明:本文为C18298182575原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。