centos6 安装mysql5.7实例

1. 安装docker

   安装过程: centos6 安装docker17.06

2. 安装mysql

service docker start
docker pull mysql/mysql-server:5.7

3. 启动mysql5.7并使用端口映射

  假设测试mysql的路径是:/home/mysql_test/mysql_5.7/(如果不是需要修改以下脚本的base_dir), 在这个目录下创建run.sh,内容如下:

#!/bin/bash

if [ "$1" = "" ] || [ "$1" = '3306' ];then
  echo -p 'examples: ./run.sh 33060; port must not a number and not equal with 3306!'
fi


#you can update this test dir for another dir
base_dir=/home/mysql_test/mysql_5.7/

if [ ! -d $base_dir ];then
    echo "$base_dir not exist, please update base_dir in the shell!"
    exit
fi

cd $base_dir
if [ ! -d $1 ];then
   mkdir $1
#else
   #echo "$1 has exist, please input another port number!"
fi

base_dir=${base_dir}$1
conf_dir_name=conf
data_dir_name=data
conf_dir=${base_dir}/$conf_dir_name
data_dir=${base_dir}/$data_dir_name
port=$1:3306
container=mysql/mysql-server:5.7
name=db$1

cd $base_dir
if [ ! -d $conf_dir_name ];then
    mkdir $conf_dir_name
fi

cd $conf_dir_name
if [ ! -f 'my.cnf' ];then
    printf "[mysqld]\nuser=mysql\n[mysqld_safe]\n" > my.cnf
fi

cd $base_dir
if [ ! -d $data_dir_name ];then
    mkdir $data_dir_name
fi


docker rm -f $name
docker run --name=$name \
--mount type=bind,src=${conf_dir}/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=$data_dir,dst=/var/lib/mysql \
-p $port -d $container

需要注意的是使用mount,bind时,src path中的文件或者文件夹必须存在,且对于mysql来说需要保证配置文件的路径和data的路径不在一个目录下。

执行如下命令来启动一个实例

#如下文件没有的话需要修改run.sh中的base_dir的位置
cd /home/mysql_test/mysql_5.7
#第二个参数是启动的mysql实例3306映射到的主机端口,container名称为db+第二个参数。
./run.sh 33060

 查看实例是否启动:

[root@bogon mysql_5.7]# docker ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                    PORTS                                NAMES
61842bf2614e        mysql/mysql-server:5.7   "/entrypoint.sh my..."   25 minutes ago      Up 25 minutes (healthy)   33060/tcp, 0.0.0.0:33060->3306/tcp   db33060

可以看到mysql1镜像的3306端口映射到了主机的33060端口。

下来访问mysql并修改默认密码。

默认密码查看命令:

docker logs db33060 2>&1 | grep GENERATED
#[Entrypoint] GENERATED ROOT PASSWORD: ^uR-YmsOfEBAD-upuKeGoK$EJnu

访问mysql并配置远程访问:

docker exec -it mysql1 mysql -uroot -p
输入:123456
>mysql: ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
>mysql: grant all privileges on *.* to root@'%' identified by '654321' with grant option;

 

 通过mycat 访问 主机,用户名:root,  密码:654321。

 如果提示连接成功则证明mysql创建成功。

 

参考:

1.https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/docker-mysql-getting-started.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值