一、概念介绍
1.1 数据库
介绍: 数据库是存放数据的仓库,按照一定的数据结构来组织、存储和管理数据
分类: 关系型数据库和非关系型数据库
关系型数据库:Mysql、Oracle、SQL Server、SQLite
非关系数据库:Redis、MongoDB、NoSQL
1.2 关系数据库
关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。 常见的关系型数据库有Mysql,SqlServer等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
1.3 MySQL概念
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
二、安装
这里介绍Linux下docker安装使用,Windows的按装请看:https://www.cnblogs.com/yifanrensheng/p/11144385.html
2.1 拉取镜像:
56252:~$ sudo docker pull mysql
2.2 建立配置文档
mkdir ~/important_file/mysql_config
touch my.cnf
2.3 安装运行docker实例
docker run -p 33066:3306 --name mysql_wb -v ~/mysql/data:/var/lib/mysql -v ~/important_file/mysql_config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=669988 -d mysql:latest
【另外一位的实例,可以考虑下面,更加工整:
mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7】
//创建容器时,最后mysql:5.6表示mysql镜像的版本,可以写,表示指定该版本;如果不写也可以,docker会自动在本地检测有没有最新的,如果没有会自动去docker hub上去下载。
run 运行一个docker容器
--name 后面这个是生成的容器的名字qmm-mysql
-p 33066:3306 表示这个容器中使用3306 映射到本机的端口号也为33066
-e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
-d 表示使用守护进程运行,即服务挂在后台
-v 做好宿主机和docker的映射,用法: -v 宿主机: docker内
/var/lib/mysql:在主机系统上适当的卷上创建一个数据目录,
2.4 开启远程访问权限
命令:use mysql;
命令:select host,user from user;
命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
命令:flush privileges;
使用navicat连接
2.5 查看日志
$ docker logs mysql-container
docker logs -f --tail 10 mysql-container
三、mysql登陆
登陆:mysql -uroot -h127.0.0.1 -P3306 -p
mysql -uroot -p(本机不用写host)
退出mysql:ctrl+z+回车,或者exit
端口号默认是3306,但是可以通过安装目录下的配置文件修改。