云服务器基础教学,利用docker安装mysql服务(二)
此次安装主要以mysql8.0版本为例。
1、下载mysql镜像
docker pull mysql:8.0
不带版本号默认现在最新版mysql
下面是成功的样子
2、查看镜像
docker images
确认一下是不是真的成功了
3、创建实例并启动容器
docker run -p 33060:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
成功的样子
说一下那个33060是我在云服务器控制台安全组里面另外开的端口号,云服务器最好不要去开3306这个端口号,另外开一个新的端口号。123456是密码自己随意。
4、查询容器是否启动成功
docker ps
下面是启动成功的样子
这里要说一下有些认会出现这么一种情况输入docker ps后里面什么都没有,也就是容器启动没有成功。这时里可以输入命令docker ps -a 查询你容器的CONTAINER ID 输入 docker start+ CONTAINER ID就可以启动容器了。
如果这么做了没有效果的话这边建议重新装docker,我也没办法。
5、通过数据库可视化软件连接数据库
我用的是navicat
测试连接中。。。。。。。。。。。。。。。
又来个问题。客户端不支持8.0的加密方式,5.7不会这样。
改!!!
6、进入数据库容器
docker exec -it mysql /bin/bash
输入mysql -uroot -p
输入use mysql;
输入ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;后面那个%表示远程连接
成功过后退出在连接一遍数据库就行
7、查询mysql安装在哪里
whereis mysql
8、输入命令修改配置文件
vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect=‘SET collation_connection=utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci skip-character-set-client-handshake
skip-name-resolve
9、重启mysql
docker restart mysql
10、开机自启动
docker update mysql --restart=always