docker安装mysql5.7.24
时间:2019-02-02 11:09 来源:未知 作者:IT
首先拉取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)
首先拉取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) |