linux(mysql下载以及操作)

下载mysql

查看镜像    docker images 

linux(mysql下载以及操作)_第1张图片
下载MySQL镜像     mysql/mysql-server:8.0
linux(mysql下载以及操作)_第2张图片

创建文件夹,创建配置文件和放数据文件     mkdir -p /data/mysql/{conf,,data}

linux(mysql下载以及操作)_第3张图片

创建配置文件  my.cnf

写入配置文件my.cnf的代码

[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8

[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

创建mysql8.0容器      linux(mysql下载以及操作)_第4张图片

已启用端口     docker ps

进入MySQL    docker exec -it mysql bash

linux(mysql下载以及操作)_第5张图片

将脚本放到工具中

linux(mysql下载以及操作)_第6张图片

linux(mysql下载以及操作)_第7张图片

建数据库

到数据

linux(mysql下载以及操作)_第8张图片

查看表

linux(mysql下载以及操作)_第9张图片

删除MySQL容器

远程连接

linux(mysql下载以及操作)_第10张图片

创建用户

授权给用户xmg     grant all on shop.*to xmg@'%';

刷新数据库

linux(mysql下载以及操作)_第11张图片

重启mysqll容器

linux(mysql下载以及操作)_第12张图片

如果拒绝连接,检查一下防火墙是否关闭     systemctl status firewalld

如果防火墙是开着的,记得开放3306的端口,添加入站规则就可以了

连接来了,数据有了

环境配置

MySQL主从配置原理
   1.master会将变动记录到二进制日志里面;
   2.master有一个I/O线程将二进制日志发送到slave;
   3.slave有一个I/O线程把master发送的二进制写入到relay日志里面;
   4.slave有一个SQL线程,按照relay日志处理slave的数据;    

   注1:relay英文意思:接转,转送,转发
   注2:主从配置原理可参考:images/01 MySQL主从配置原理图.jpg

新建主从目录

创建mysql-slave

docker run -itd -p 3391:3306           --name mys                        ql-master           -v /data/mysql-master/conf/my.cnf:/etc/my.cnf           -v /                        data/mysql-master/data:/var/lib/mysql           --privileged=true           --re                        start=always           -e MYSQL_ROOT_PASSWORD=123456           -d mysql/mysql-se                        rver:5.7

linux(mysql下载以及操作)_第13张图片

进入容器  

给用户授权

linux(mysql下载以及操作)_第14张图片

更新权限后,外部就可以使用native进行连接了

linux(mysql下载以及操作)_第15张图片

创建mysql-slave 

进入容器

登录mysql服务器

linux(mysql下载以及操作)_第16张图片

给用户授权

更新权限后,外部就可以使用native进行连接了

配置MySQL主从复制

进入mysql-master容器

​​​​​​​

登陆主节点

linux(mysql下载以及操作)_第17张图片

查看主节点关键参数

linux(mysql下载以及操作)_第18张图片

进入slave节点,关联master节点

先进入mysql-slave容器
         

连接slave数据库,关联master节点

linux(mysql下载以及操作)_第19张图片

linux中使用命令导入导出数据
   1.导出数据库
     1.导出数据和表结构:
       mysqldump -u 用户名 -p 密码 数据库名 > 数据库名.sql
       mysqldump -u root -p dbname > dbname .sql
      敲回车后会提示输入密码 

     2.只导出表结构
       mysqldump -u 用户名 -p 密码 -d 数据库名 > 数据库名.sql
       mysqldump -u root -p -d dbname > dbname .sql
       敲回车后会提示输入密码

   2.导入数据库
     1.首先建空数据库
       mysql>create database dbname ;
     2.导入数据库
       方法一:
       1.选择数据库
         mysql>use dbname ;
       2.设置数据库编码(可选)
         mysql>set names utf8;
       3.导入数据(注意sql文件的路径)
         mysql>source /home/xxxx/dbname .sql;
       方法二:
         mysql -u 用户名 -p密码 数据库名 < 数据库名.sql

你可能感兴趣的:(linux,docker,mysql,数据库)