首先拉取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,重新容器就好 (责任编辑:IT) |