1,装包 mysql.tar,启服务
tar -xvf mysql-5.7.17.tar
yum -y install mysql-community-*.rpm
systemctl start mysqld
systemctl enable mysqld
2,>第一启动时,通过日志查看初始密码
grep password /var/log/pmysql.log
mysql -uroot -p'*******' //日志中的初始密码,进入数据库
mysql>show databases; 查看数据库
#更改密码策略
mysql>set global validate_password_policy=0;//只验证长度
--------------------------|----------------|----------------------------------|
| 策略参数 | 值 | 描述
| 0或LOW | 长度
validate_password_policy | 1或MEDIUM(默认) | 长度,数字,大写,小写,特殊符号
| 2或者STRONG | 长度,数字,大写小写,特殊符号,字典文件
--------------------------|----------------|---------------------------------|
mysql> set global validate_password_length=6; //修改密码长度(默认8)
mysql>alter user() identified by "123456"; //修改登录密码
#永久设置密码策略:
# vim /etc/my.cnf //添加下列内容
[mysqld]
validate_password_policy=0
validate_password_length=6
################################################################
恢复root密码
1,停止Mysql服务
2,跳过授权表启动Mysql服务
3,修改root密码
4,正常方式启动Mysql服务
systemctl stop mysqld
vim /etc/my.cnf
[mysqld]
skip-grant-tables //跳过授权表
systemctl restart mysqld
nysql //进入mysql(无密码)
update mysql.user set authentication_string=password("密码") where user="root" and host="localhost";
//password("密码")--内置函数加密密码,看不到明文显示
flush privileges; 刷新
quit;
vim /etc/my.cnf
#skip-grant-tables //注释掉跳过权限
systemctl restart mysqld //重启服务
mysql -uroot -p密码 //密码登录
#######################################################
重置管理员root密码
方法一
mysqladmin -uroot -p password "新密码"
Enter password:****** //输入旧密码
方法二
以root登录mysql后,使用set password
set password for root@localhost=password('123456');
方法三
update更新表记录
update mysql.user set authentication_string=password('密码') where user="root" and host = "localhost";
数据库的基本管理
连接数据库语法格式
mysql [-h服务器IP或域名 -u用户名 -p密码 数据库名称]
mysql -h192.168.4.50 -uroot -p123456
注意事项操作指令不区分大小写(密码和变量除外)
sql语句以分号;结束
\c取消错误书写命令
**数据库相关指令**
数据库命名规则(数字,字母,下划线,不能纯数字,区分大小写,不能使用关键字和特殊符号)
show databases; //查看数据库
use mysql; //进入mysql数据库
select database(); //显示当前使用数据库
create database tts character set utf8mb4; //创建数据库tts编码utf8
drop database tts; //删除数据库
数据表数据操作相关指令
show character set; //查看所有可用编码
create table 库名.表名 (
字段名 类型
学号 char(20),
姓名 char(20),
年龄 int(2),
);
desc 库名.表名; //查看数据库表结构(所有字段)
drop table 库名.表名 //删除整个数据表
表数据的增删改查
insert ,delete ,update ,select
insert into 库名.表名 values(' ',' ',' '),(...);
insert into 库名.表名(字段名) values(' '),(' '); //只添加指定字段的数据
delete from 库名.表名 where 条件; 删除所有满足条件的数据
update 库名.表名 set 字段=值,字段=值 where 条件; //更新数据
select 字段1,字段2,字段3 from 库名.表名 where 条件; //查询指定字段
select * from 库名.表名; //查看表格所有数据
select count(*) from 库名.表名 //查看有多少条记录
编辑表结构操作指令
alter table 库名.表名 动作
after 字段名 ;first //指定字段的位置在某个字段之后,或者位于第一个
|------------------|--------------|
| add | 添加字段 |
| modify | 修改字段类型 |
| change | 修改自定名称 |
| drop | 删除字段 |
| rename | 修改表名称 |
|------------------|--------------|
-1,alter table 库名.表名 add 字段名 类型;
alter table school.user add name char(20);
-2,alter table 表名 modify 字段名 类型;
alter table school.user modify addr varchar(20) default 'shanghai' after name;
-3,alter table 表名 change 字段名 新字段名 类型;
alter table school.user change name myname varchar(10);
-4,alter table 表名 drop 字段名;
alter table school.user drop id;
-5,alter table 表名 rename 新表名
alter table school.user rename school.rest;
数据库的数据类型
字符 字符串使用需要引号" "
类型
描述
char(字符数)
固定长度,最长255字符,不够自动在右边填补空格,超出指定字符数则无法写入
varchar(字符数)
可变长度,根据实际数据大小分配存储空间,超出字符数无法写入
text/blob
字符数大于65535使用
create table school.info(
name char(4),email varchar(30));
数值 #使用unsigned标记无符号存储
create table school.user (
id tinyint unsigned,age int(3),score float(4,2));
模糊查询 -用法 where 字段名 like ‘通配符’ 表示一个字符 %表示0-n个字符 -实例 查询name值是"4个字符"的记录 select name from db.user where name like " _ _ _ _" 查询name含有a的记录 select name from db.user where name “%a%”
正则表达式 用法 _where 字段名 regexp “正则表达式” _正则元字符 ^ $ . [ ] * | 示例 _列出name以j开头y结尾的记录 select name from db.user where name regexp “^j.*y$”;