MySQL学习笔记

前言

这里使用docker进行学习。配置了docker-cn的镜像。

Mysql集群建立

使用下面的命令拉取mysql镜像

docker pull mysql

使用下面的命令建立一个master和一个slave

docker run --name mysql-master -P -d -e MYSQL_ROOT_PASSWORD=ln mysql
docker run --name mysql-slave1 -P -d -e MYSQL_ROOT_PASSWORD=ln mysql

其中-d是配置成为守护进程。-P暴露所有端口。设置root密码为ln。

使用下面命令分别进入两个docker中

docker exec -it mysql-master bash
docker exec -it mysql-slave1 bash

查看网卡ip。这里首先要安装net-tools,安装前要update,update前要换源

sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
apt updaet
apt install net-tools

输入ifconfig查看ip。
其中master是172.17.0.2,slave1是172.17.0.3

设置登录权限
在master中的mysql中按照如下步骤操作,首先登录,然后设置名称为root用户都可以无密码访问。

mysql -uroot -p
mysql> grant all privileges on *.* to root@'%' identified by '';
Query OK, 0 rows affected (0.02 sec)

mysql>  flush privileges;
Query OK, 0 rows affected (0.02 sec)

在slave1中使用master的数据库,密码为空

mysql -uroot -p -h 172.17.0.2

在master中创建一个database

create database test_docker;

在slave1中查看该数据库是否存在。

show databases;

琐事

sql对大小写不敏感,SELECT与select是一样的。
sql语句后面最好加上分号。
use用于选择数据库。set用于设置值。
添加用户的方式使用create来添加。
然后授权用户使用数据库与表。

mysql -u root -p
Enter password:**
mysql> use mysql;
mysql> create user 'linanwx'@'%' identified by 'ln';
mysql> grant all on *.* to 'linanwx'@'%';

SHOW DATABASES用于展示当前数据库中的数据。
SHOW TABLES则用于展示当前的表。

你可能感兴趣的:(MySQL学习笔记)