2018年07月11日 08:10:37 阅读数:53
一.检查包。装包
1.rpm -qa | grep -i mariadb (查看软件)
2.systemctl stop mariadb(关闭服务)
3.rpm -e –nodeps mariadb-server(卸载软件)
4.rm -rf /var./lib/mysql/*(卸载默认路径文件) rm -rf /etc/my.cnf(删除主配置文件)
5.装包 yum -y install perl-JSON
6.rpm -Uvh mysql-community-*.rpm(装包)
启服务:systemctl start mysqld (起服务)
systemctl status mysqld(查看服务状态)
systemctl enable mysqld(开机自起)
7.rpm -qa | grep -i mysql(查看软件)
8.ps -c mysqld: 查询进程服务
9.数据库初始密码
grep password /var/log/mysqld.log(初始密码第一行的最后)
root@host60 ~]# mysql -uroot -p’初始密码’
10.修改root密码口令
root@host50 ~]# mysql>set global validate_password_policy=0;(只验证密码长度)
root@host50 ~]# mysql>set global validate_password_length=6;(修改密码长度。默认是8位数)
root@host50~]mysql> alter user user() identified by “123456”;(修改登陆密码)
root@host50~]mysql>quit
[root@host50 ~]# mysql -uroot -p123456(使用新密码登陆)
二。把数据存储到数据库服务器上的过程?
1.连接数据库服务器
2.创建库 (类似于系统文件夹)
格式:create database 库名;
show databases; (查看已有库)
use 库名; (切换库)
select database ()(显示当前所在库)
show tables (显示以有表)
drop database 库名;(删除库名)
3创建表 (类似于系统文件)
表必须在库里
(创建表,查看内容,查看表结构,删除表,写入数据)
创建表格式:create table 库名.表名(
字段名1 字段类型(宽度) 约束条件,
字段名2 字段类型(宽度) 约束条件,
字段名N 字段类型(宽度) 约束条件,);
例子:create database xixi;
create table xixi.haha(
(名字)name char(15), char (字符类型255字符) 数值类型:int ,4字节,大整数
(性别)sex char(10), varchar(变长字符数,大文本类型65535)
(年龄)age int(2), int(大型数值类型)
(电话)tel char(11));
show tables; (查看当前库里的所有表) 英文版
insert into haha values(“xixi”,”tom”); (插入数据)
select * from haha; (查看指定表信息)
create table 学生信息表2(
姓名 char(15),
班级 char(7)
) DEFAULT CHARSET=utf8; 字符集 中文版 加default charset=utf8;才能打中文)
insert into 学生信息表2 values(“李斯”,”8988”); (插入数据)
update 学生信息表2 set 姓名=”张三”; (修改字段)
select * from 学生信息表2 ; (查看指定表信息)
4.插入数据 (类似于文件里 的行)
格式:
desc 表名;(查看表结构);
select * from 表名;(查看表记录)
drop table 表名; (删除表)
insert into 表名 values(值列表); (插入表记录)
update 表名 set 字段=值; (修改表记录)
delete from 表名; (删除表记录)
案例:
5,断开连接
三。数值类型
案例:create database db1;(创建库)
use db1;
create table t1(level tinyint); level 字段1 tinyint 类型整数
desc t1;
insert into t1 values(99) ; 注意值不能大于小于范围
案例:整数型
create database db2;
use db2;
create table t2(level tinyint unsigned); tinyint(微小整数)
desc t2;
select * from t2;
insert into t2 values(99);
浮点型:
create database db4;
create table t3(pay float(5,2)); 创建表 float(小数型)
inser tinto t3 values(118);
四。时间类型
年 year yyyy 2018 (默认用4位数)只有2位数时,1-69视为2000-2069,70-99视为1970-1999
日期 date yyyyMMDD 20180711
时间 time HHMMSS 083000
日期时间 datetime (8个字节) YYYYMMDDHHSS
timestamp (4个字节) 20180711093758
建表格式:
create database db2;
use db2;
create table t1(name char(15),
birthday date, birthday(生日) date(日期)
work time, work(工作。上班) time(时间)
s_year year, s_year (出生) year(年份)
meetting datetime); meetting(约会) datetime(日期时间)
desc t1; (查看指定表结构)
insert into t1 values(“leiguoyong”,20181120,220000,1991,20181224203000);(插入数据)
select * from t1;(查看表内容)
timestamp 和datetime的区别:
create table t2(meetting datetime,(为NULL)
party timestamp);(当前系统时间)
insert into t2 values (20170711102356,20191224190000);
insert into t2(party) values (20160711102356);
insert into t2(meetting) values (20191011102356);
select * from t2;
reg_tab
name
passwd
reg_time
时间命令:
now()获取系统当前日期和时间 select now();
year():执行时动态获得系统日期时间 select year( now() );获取系统日期时间 select year( 20191224 );获取指定时间日期
sleep(N)休眠N秒
curdate()获取当前的系统时间
curtime()获取当前的系统时刻
month()获取指定时间中的月份 select month(20191224 );获取指定时间月份
date()获取指定时间中的日期 select date(now() );获取系统日期
select day(20191224 );获取指定时间几号
select day(now());获取系统时间几号
time()获取指定时间中的时刻 select time(now() );获取系统时间
insert into t2 values(“bob”,date(now()),090000,year(19951223),now()); (匹配对应的列数才行)
枚举型:
enum(值1,值2,值3)从给定值集合中选择单个值
set(值1,值2,值3)从给定值中选择多个值)
五。mysql相关服务参数
1./etc/my.cnf(主配置文件)
2./var/lib/mysql(数据库目录)
3.默认端口号(3306)
4.进程名(mysqld)
5.传输协议(TCP)
6.进程所有者(mysql)
7。进程所属组(mysql)
常见的数据库服务软件
类 型
Oracle Database
MySQL/MariaDB
厂 商
Oracle (甲骨文)
Microsoft (微软)
DB2 IBM
Sybase Sybase
PostgreSQL 加州大学伯克利分校MySQL
数据库介绍MySQL 的起源与发展过程
• 最为著名、应用最广泛的开源数据库软件
– 最早隶属于瑞典的 MySQL AB 公司
– 2008 年 1 月, MySQL AB 被 Sun 收购
– 2009 年 4 月, SUN 被 Oracle 收购
• 崭新的开源分支 MariaDB
– 为应付 MySQL 可能会闭源的风险而诞生
– 由 MySQL 原作者 Widenius 主导开发
– 与 MySQL 保持最大程度兼容MySQL 的特点及应用
• 主要特点
– 适用于中小规模、关系型数据库系统
– 支持 Linux/Unix 、 Windows 等多种操作系统
– 使用 C 和 C++ 编写,可移植性强
– 通过 API 支持 Python/Java/Perl/PHP 等语言
• 典型应用环境
– LAMP 平台,与 Apache HTTP Server 组合
– LNMP 平台,与 Nginx 组合构建 MySQL 服务器
MySQL 安装
MySQL 安装前准备环境
RPM 方式安装 MySQL 数据库
启动 MySQL 数据库服务器
构建 MySQL 服务器
MySQL 初始配置
修改 root 口令
mysql 服务相关参数MySQL 安装安装 MySQL
• 基本需求
– 1. 采用 RHEL7.2 系统搭建 MySQL 服务器
– 2. 关闭 iptables
– 3. 关闭 selinux
– 4. 软件 mysql-5.7.17-1安装 MySQL (续 1 )
• 从官网下载 RPM 包
– http://dev.mysql.com/downloads/mysql/
– 选择适用于当前系统的 bundle 集合包
mysql-community-client
// 客户端应用程序
mysql-community-common // 数据库和客户端库共享文件
mysql-community-devel
// 客户端应用程序的库和头文件
mysql-community-embedded // 嵌入式函数库
mysql-community-embedded-compat // 嵌入式兼容函数库
mysql-community-embedded-devel // 头文件和库文件作为 Mysql 的嵌入
式库文件
mysql-community-libs //MySQL 数据库客户端应用程序的共享库
mysql-community-libs-compat // 客户端应用程序的共享兼容库安装 MySQL (续 2 )
• 准备工作
– 停止 mariadb 服务
– 删除文件 /etc/my.cnf
– 删除数据
– 卸载软件包
[root@localhost ~]# systemctl stop mariadb
[root@localhost ~]# rm -rf /etc/my.cnf
[root@localhost ~]# rm -rf /var/lib/mysql/*
[root@localhost ~]# rpm -e –nodeps mariadb-server mariadb
警告: /var/log/mariadb/mariadb.log 已另存为 /var/log/mariadb/
mariadb.log.rpmsave
[root@localhost ~]#安装 MySQL (续 3 )
• 至少安装 server 、 client 、 share* 包
– 采用 U 升级安装,可替换冲突文件
– 推荐将 devel 也装上,用于支持其他软件
[root@localhost ~]# yum -y install perl-Data-Dumper perl-JSON
perl-Time-HiRes
[root@localhost ~ ]# tar -xf mysql-5.7.17-1.el7.x86_64.rpm-
bundle.tar
[root@localhost ~ ]# rpm -Uvh mysql-community-*.rpm启动 MySQL 数据库服务
• 服务脚本为 /usr/lib/systemd/system/mysqld.ser
vice
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service;
enabled; vendor preset: disabled)
Active: active (running) since Tue 2017-04-18 15:29:56 CST;
1min 12s ago
…….
Main PID: 15112 (mysqld)
CGroup: /system.slice/mysqld.service
└─15112 /usr/sbin/mysqld –daemonize
–pid-file=/var/run/mysqld/mysqld.pidMySQL 初始配置修改 root 口令
• 默认的数据库管理账号
– root ,允许从 localhost 访问
– 首次登录密码在安装时随机生成
– 存储在错误日志文件里
[root@localhost ~]# grep ‘temporary password’
/var/log/mysqld.log
2017-04-18T07:29:27.634784Z 1 [Note] A temporary password is
generated for root@localhost: mtoa>Av