Coding云

码云的愿心:希望广大程序猿朋友摘掉苦逼的昵称

服务器

docker安装mysql5.7.24


首先拉取5.7.24版本的mysql镜像(镜像版本需要去https://hub.docker.com/,在explore下查找镜像)
docker pull mysql:5.7.24


镜像拉取好了之后我们就创建运行应用所需的容器,首先创建一个MySQL容器
[root@kubernetes ~]# docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.24
解释一下上面命令的含义:

run -itd:在docker中运行一个带交互式的且能后台运行的容器。
--name mysql:给容器命名为mysql,注意name前面有两个小横杠,你也可以自己随意命名。
-p 3306:3306:这里是指将容器的3306端口映射到主机的3306端口,冒号前面指的是主机,后面指的是容器。
-e MY_ROOT_PASSWORD=123456:这行命令的意思是在创建mysql容器的时候在容器中创建一个root用户,密码是123456,要是不想用123456,把它改成你想要的就可以了。


下面我们进入这个容器看看:
docker exec -it mysql bash
docekr exec命令用来进入容器内部。进入之后可以使用 service mysql start 命令来查看当前mysql服务的状态,一般情况下都是runing的,如果不是,自行启动一下就可以了。
然后使用mysql -u root -p 回车后提示输入密码,我的是123456.输入回车之后就会进入mysql的命令行了!
可用show databases; 查看一下mysql中有哪些数据库。(这些都是为了让大家看看数据库,并不需要做什么操作)

创建测试数据库:
create database `weixin-mall`;
新增sql用户:
INSERT INTO mysql.user(HOST,USER,authentication_string,ssl_cipher,x509_issuer,x509_subject) VALUES('%','weixinmall',PASSWORD('123456'),'','','');
flush privileges;
grant all privileges on `weixin-mall`.* to weixinmall@'%' identified by '123456';


注意:

这样安完的mysql数据库会有乱码问题,需要进入mysql容器,修改配置文件。

步骤:

1. docker exec -it mysql bash

2. cd /etc/mysql/mysql.conf.d

3. vi mysqld.cnf

4. 注意character-set-server=utf8这个参数,需要在[mysqld][mysql][mysql.server],[mysqld_safe][client]也加上,没有的需要新增!

[mysqld]
character-set-server=utf8
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
#log-error      = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0



[mysql]
default-character-set = utf8

[mysql.server]
default-character-set = utf8

[mysqld_safe]
default-character-set = utf8

[client]
default-character-set = utf8



尽量是在原配置文件基础上,新增character-set-server=utf8,因为不同版本可能配置文件不太一样,自己举一反三。

然后 docker restart mysql容器id,重新容器就好


(转载本站原创文章请注明作者与出处Coding云--codingyun.com)

这篇文章帮我解决问题了,我忍不住的想点赞!!!
同时也想小小的打赏一笔表示感谢。

已经有2位老爷赞赏了本文

打赏方式一:
打开支付宝,使用“扫一扫”打赏。
支付宝打赏
打赏方式二:
打开微信,使用“扫一扫”打赏。
微信打赏