1.1 数据库相关概念
在这一部分,先了解三个概念:数据库、数据库管理系统、SQL。
名称 | 全称 | 简称 |
数据库 | 存储数据的仓库,数据是有组织的进行存储 | DataBase(DB) |
数据库管理系统 | 操纵和管理数据库的大型软件 | DataBase Management System (DBMS) |
SQL | 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 | Structured Query Language (SQL) |
目前主流的关系型数据库有哪些:
Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。
MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。
SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。
PostgreSQL:开源免费的中小型数据库。
DB2:IBM公司的大型收费数据库产品。
SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。
MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与MySQL数据库有很好的兼容性。
不论我们使用哪一个关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作,SQL语言是操作关系型数据库的统一标准。
假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、SQLServer,也完全不用担心,因为操作的方式都是一致的。
Windows server 2019系统,cpu:4核,内存:8G,硬盘:100G
官方网址: https://www.mysql.com/
MySQL官方提供了两种不同的版本:
(1)社区版本(MySQL Community Server):免费, MySQL不提供任何技术支持
(2)商业版本(MySQL Enterprise Edition):收费,可以使用30天,官方提供技术支持
下载地址: https://downloads.mysql.com/archives/installer/
这里采用的是MySQL最新的社区版-MySQL Community Server 8.0.26,操作系统:Windows server 2019
我们可以根据下面的步骤,一步一步的完成MySQL的安装。
(1) 双击官方下载好的安装包文件
(2) 根据安装提示进行安装
选择安装类型
请选择适合您的用例的安装类型。(开发者默认、仅服务器、仅客户端、全部,每种模式包含的软件有所不同)
检查要求
以下产品有不合格要求。MySOL安装程序将尝试自动解析它们。标记为手动的需求无法自动解决。单击每个项目尝试手动解决它。直接next。
一个或多个产品要求没有得到满足
将不会安装缺少需求的产品,或者是否继续? 点击yes继续。
安装MySQL的相关组件,点击Execute。(这个过程可能需要耗时十几分钟)
产品配置
现在,我们将介绍以下每个产品的配置向导。如果您希望在不配置所有产品的情况下离开此向导,您可以在任何时候取消。
类型和网络
验证方法
使用强密码加密进行身份验证(推荐)
帐户和角色,root帐户的密码。
Windows服务
将MySQL服务器配置为Windows服务
请指定要用于此MySQL服务器实例的Windows服务名称。每个实例都需要一个唯一的名称。
应用配置,点击Execute
应用配置完成,点击finish。
产品配置,点击next
MySQL路由器配置
Bootstrap MySQL路由器用于InnoDB集群。这里默认,点击finish。
产品配置,点击next。
连接到服务器,输入root密码,点击check。测试ok,点击next。
应用配置,配置操作已经完成。点击finish。
安装完成,点击finish。
安装好MySQL之后,还需要配置环境变量,这样才可以在任何目录下连接MySQL。
A.搜索打开 控制面板
B. 点击左侧的 "高级系统设置",选择环境变量
C. 找到 Path 系统变量, 点击 "编辑"
D. 选择 "新建" , 将MySQL Server的安装目录下的bin目录添加到环境变量
MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,我们无需手动启动了。
当然,也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令:
net start mysql80 net stop mysql80
注意 : 上述的 mysql80 是我们在安装MySQL时,默认指定的mysql的系统服务名,不是固定的,如果未改动,默认就是mysql80。
1). 方式一:使用MySQL提供的客户端命令行工具
2). 方式二:使用系统自带的命令行工具执行指令
mysql [-h 127.0.0.1] [-P 3306] -u root -p 参数: -h : MySQL服务所在的主机IP -P : MySQL服务端口号, 默认3306 -u : MySQL数据库用户名 -p : MySQL数据库用户名对应的密码 []内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,如果连接本地的MySQL,则无需指定这两个参数。
注意: 使用这种方式进行连接时,需要安装完毕后配置PATH环境变量。
3). 方式三:使用官方提供客户端管理软件DBMS(DB管理系统)连接
输入hostname、port、root密码,点击ok。
(1)Linux系统安装参考:https://www.cnblogs.com/it-log/p/17038468.html
(2)内存要求:5.6及以上版本的MySQL要求Linux系统虚拟内存不能小于1G,否则MySQL可能无法运行。
(3)卸载mariadb
[root@mysql8 ~]# rpm -qa | grep mariadb* mariadb-libs-5.5.68-1.el7.x86_64 [root@mysql8 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
注意:rpm -e --nodeps 后面的 mariadb 需要使用根据实际查询出来的。
1、下载
下载地址:https://mirrors.aliyun.com/mysql/MySQL-8.0/ 这里使用:mysql-8.0.28-el7-x86_64.tar.gz
2、创建目录
mkdir -p /u01/app/ mkdir -p /u01/data/3306 mkdir -p /u01/ log /3306
3、上传
将 mysql-5.7.30-el7-x86_64.tar.gz 压缩文件上传至 /opt 目录
4、解压
将MySQL压缩文件解压至 /u01/app 目录
[root@mysql8 ~]# tar -zxvf /opt/mysql-8.0.28-el7-x86_64.tar.gz -C /u01/app
5、重命名
将MySQL根目录重命名为mysql
[root@mysql8 ~]# cd /u01/app/
6、删除(可选)
删除压缩文件
[root@mysql8 ~]# rm -f /opt/mysql-8.0.28-el7-x86_64.tar.gz
7、用户与用户组
创建mysql用户和用户组,目录授权
[root@mysql8 ]# groupadd mysql [root@mysql8 ]# useradd -r -g mysql -s /bin/ false mysql [root@mysql8 ]# chown -R mysql:mysql /u01
8、配置环境变量
配置profile文件,配置环境变量后可以在任何地方执行 MySQL 命令。
[root@mysql8 ]# vi ~/.bash_profile
在PATH行插入mysql的bin目录的路径,如下:
PATH=$PATH:/u01/app/mysql/bin:$HOME/bin
9、配置参数文件
[root@mysql8 ]# vi /u01/data/3306/my.cnf ***点击 i 键,复制并粘贴如下配置*** [root@dbserver 3306]# cat /u01/data/3306/my.cnf [mysql] default -character-set=utf8mb4 socket=/u01/data/3306/mysql.sock [mysqld] #skip-name-resolve port = 3306 socket=/u01/data/3306/mysql.sock basedir=/u01/app/mysql datadir=/u01/data/3306/data character-set-server=utf8mb4 default -storage-engine=INNODB innodb_buffer_pool_size = 200M max_allowed_packet=16M explicit_defaults_for_timestamp=1 log -output= FILE general_log = 0 general_log_file=/u01/ log /3306/3306db-general.err slow_query_log = ON slow_query_log_file=/u01/ log /3306/3306db-query.err long_query_time=10 log -error=/u01/ log /3306/3306db-error.err #mysql5.7的密码策略,8.0很多客户端不支持 default -authentication-plugin=mysql_native_password
10、建立链接文件
[root@mysql8 ]# ln -sf /u01/data/3306/my.cnf /etc/my.cnf
11、初始化mysql数据库
[root@mysql8 ~]# mysqld --initialize --user=mysql #全局变量下使用mysqld
或
[root@mysql8 ~]# /u01/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/u01/app/mysql/ --datadir=/u01/data/3306/data/ #绝对路径下使用mysqld
注意:初始密码可以在文件/u01/log/3306/3306db-error.err中查看
11、配置centos linux启动和停止脚本
[root@mysql8 ]# vi /usr/lib/systemd/ system /mysqld.service
12、systemctl 启动和停止脚本方法
systemctl daemon-reload systemctl stop mysqld systemctl start mysqld systemctl enable mysqld systemctl status mysqld 手动启动和停止mysql的方法 nohup /u01/app/mysql/bin/mysqld_safe --defaults-file=/u01/data/3306/my.cnf & mysqladmin -uroot -p shutdown -S /u01/data/3306/mysql.sock
13、修改root密码
初始密码可以在文件/u01/log/3306/3306db-error.err中查看
mysql -uroot -p 或 /u01/app/mysql/bin/mysql -u root -p alter user 'root' @ 'localhost' IDENTIFIED BY 'rootroot' ;
14、允许root用户远程登陆
mysql -uroot -p use mysql select host,user from user where user= 'root' ; create USER 'root' @ '%' identified by 'rootroot' ; grant all privileges on *.* to 'root' @ '%' with grant option; exit
15、防火墙放开3306端口
[root@mysql8 ]# firewall-cmd --permanent --zone= public --add-port=3306/tcp
最后就可以使用 DBMS 远程连接使用数据库了。
参考链接:http://blog.itpub.net/70004783/viewspace-2794003/