docker容器(centos7)中rpm方式安装mysql
本文以5.6为例进行操作。首先,下载mysql的rpm文件,主要包含3个rpm包:MySQL-client-5.6.41-1.el7.x86_64.rpm, MySQL-devel-5.6.41-1.el7.x86_64.rpm, MySQL-server-5.6.41-1.el7.x86_64.rpm官网下载这3个包,下载方式放4张图:到这里,安装mysql的3个文件就已经下载下来...
本文以mysql 5.6为例进行操作,新手操作前注意看下最后。
首先,下载mysql的rpm文件,主要包含3个rpm包:MySQL-client-5.6.41-1.el7.x86_64.rpm, MySQL-devel-5.6.41-1.el7.x86_64.rpm, MySQL-server-5.6.41-1.el7.x86_64.rpm
官网下载这3个包,下载方式放4张图:
到这里,安装mysql的3个文件就已经下载下来了。
1、复制安装包,下面的mysql_master是我的docker容器名称
# docker cp 本机路径 docker容器路径(系统=》docker的容器)
#docker cp /source/MySQL-server-5.6.41-1.el7.x86_64.rpm mysql_master:/root/
下面从第2点开始进入docker容器中操作
2、安装mysql依赖
yum install -y perl perl-Module-Build net-tools autoconf libaio numactl-libs
3、安装mysql下面3条命令都要执行
rpm -ivh /root/MySQL-server-5.6.41-1.el7.x86_64.rpm
rpm -ivh /root/MySQL-client-5.6.41-1.el7.x86_64.rpm
rpm -ivh /root/MySQL-devel-5.6.41-1.el7.x86_64.rpm
4、查看mysql登录密码(这个文件应该与rpm安装包同一目录下)
cat /root/.mysql_secret
5、启动mysql
systemctl start mysql
6、登录mysql 注意看命令,-p与密码之间是没有空格的!!!
mysql -uroot -p _6sZdMfn4M1cNktQ
7、修改密码,注意分号
set password = password(‘你的密码’);
8、使用
user mysql
9、远程登录授权,第二个root是我的密码,下面2条指令都需执行
grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
flush privileges;
上面第一个命令不能直接复制,因为*看不到,单引号也不能复制,直接上图:
10、修改mysql端口
/ect/my.cnf 这个文件是不存在的,所以:
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
然后修改my.cnf,这个文件里的内容全部注释起来的,只需要加个
port=3307 就行。因为我上面映射的端口是3307,所以我这里用3307
11、连接navicat。这里可以顺利连接啦。如果是阿里云或者其他云服务器,要开端口,关防火墙之类的。使用的是他们对外的ip,这是重点,不要用对内的ip。
注意:在创建容器的时候一定要进行端口映射,方便后续外部访问容器内的应用。这里举个栗子:
docker run -tid -p 3307:3307 3db94df3e006 /usr/sbin/init
说明:3307:3307 是本地端口与容器端口映射,端口后面的字符串是镜像id,我的是centos7镜像 , -p就是进行端口映射。run后面更详细的参数说明见下链接:https://linuxwiki.github.io/Services/Docker.html
补充: 也可以给对运行中的容器进行端口映射:
例:将容器的8000端口映射到docker主机的8001端口
命令: iptables -t nat -A DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.2:8000
更多推荐
所有评论(0)