DATABASE day1:
一、搭建数据库服务器
二、数据库服务的基本使用
三、MySQL数据类型
四、管理记录
五、用户授权与权限撤销
六、数据备份与恢复
七、MySQL主从同步
八、数据读写分离
九、MySQL优化
十、MySQL 集群
#######################
一、搭建数据库服务器
数据库服务器是用来存储数据
1、购买服务器的硬件配置:存储 CPU 内存
2、安装操作系统:Linux UNIX Windows
3、安装提供数据库服务的软件包:
3.1有哪些类型的软件:mysql mariadb sql-server db2
3.2来源:官网下载 系统安装光盘自带的
3.3类型:RPM(不可修改) 源码包(可自定义)
3.4软件包的开源是否跨平台
安装前准备
基本需要
-1.采用RHEL7.2系统搭建MySQL服务器
-2.关闭防火墙 systemctl stop firewalld
-3.关闭selinux sed 's/=enforcing/=permissive/g' /etc/selinux/config
-4.软件mysql-5.7.17-1
准备工作
停止mariadb服务
删除文件
1.安装软件包
[root@db1 09.mysql]# rm -rf mysql-community-server-minimal-5.7.17-1.el7.x86_64.rpm
[root@db1 09.mysql]# ls mysql-*.rpm
[root@db1 09.mysql]# rpm -Uvh mysql-community-*.rpm 安装,如果存在旧版本 就升级 ,也可以查看需要哪些依赖包
警告:mysql-community-client-5.7.17-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
perl(Data::Dumper) 被 mysql-community-test-5.7.17-1.el7.x86_64 需要
perl(JSON) 被 mysql-community-test-5.7.17-1.el7.x86_64 需要
[root@db1 09.mysql]# yum list |grep "perl-Data-Dumper"
perl-Data-Dumper.x86_64 2.145-3.el7 192.168.4.254_rhel7
[root@db1 09.mysql]# yum list |grep "perl-JSON"
perl-JSON.noarch 2.59-2.el7 192.168.4.254_rhel7
perl-JSON-PP.noarch 2.27202-2.el7 192.168.4.254_rhel7
[root@db1 09.mysql]# yum -y install perl-Data-Dumper.x86_64 perl-JSON.noarch perl-JSON-PP.noarch
[root@db2 09.mysql]# rpm -Uvh mysql-community-*.rpm
2.启动服务
systemctl start mysqld
systemctl enable mysqld
3.与MySQL数据库服务相关信息
进程名 mysqld
进程所有者和所属组 mysql mysql
默认端口号 3306
传输协议 TCP
配置文件 /etc/my.cnf
数据库目录 /var/lib/mysql
日志文件 /var/log/mysqld.log (存放初始密码)
使用数据库管理员root用户初始密码连接数据库服务
[root@db1 09.mysql]# grep -i password /var/log/mysqld.log
2018-02-22T03:21:32.096060Z 1 [Note] A temporary password is generated for root@localhost: ;Go-_qk(2Jon
[root@db1 09.mysql]# which mysql
[root@db1 09.mysql]# mysql -uroot -p";Go-_qk(2Jon"
mysql>
mysql> quit //断开连接
设置数据库管理员root用户本机登录密码
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user root@localhost identified by "123456";
Query OK, 0 rows affected (0.00 sec)
mysql> quit
vim /etc/my.cnf #永久生效密码
[mysqld]
validate_password_policy=0
validate_password_length=6
[root@db1 09.mysql]# systemctl stop mysqld.service
[root@db1 09.mysql]# systemctl start mysqld.service
[root@db1 09.mysql]# mysql -uroot -p123456
mysql> show databases;
二、数据库服务的基本使用
把数据存储到数据库服务器上过程
1.连接数据库服务器
不作授权的时候只允许数据库管理员root用户在数据库本机连接数据库服务
mysql -hlocalhost -uroot -p123456
2.创建库(文件夹)
mysql> create database 库名; ##等于在/var/lib/mysql创建了一个目录
mysql> system ls /var/lib/mysql ##可以用linux命令,不用分号
mysql> select database(); ##类似linux中的pwd
mysql> use 库名; ##进入库
mysql> drop database 库名; ##删除库
mysql> drop database 库名\c ##终止继续打命令
3.建表(系统文件)表必须保存在库里。
mysql> use mysql; ##进入库
mysql> show tables; ##查看库里面所有表
mysql> select * from user; ##查看表中所有列的内容
mysql> select user,host from user; 查看表中user,host列内容
mysql> desc user; ##查看表中有什么列,什么类型
mysql> select user,host,select_priv from user; 查看表中select_priv,user,host列内容
###############################################################3
建表命令
行(记录)
列(字段名)
把学生信息保存到gamedb库里
name age
tom 19
jim 21
mysql> create table gamedb.stu( name char(10),age int(2)); ##创建表中的列、类型,列为name,age,类型为char,int。
Query OK, 0 rows affected (0.19 sec)
mysql&