数据库mariadb编程

MySQL是一个关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性

一 安装mysql

  • 寻找与mariadb有关的软件包
 yum search mariadb	
  • 安装mariadb的server软件和client软件
 yum install mariadb mariadb-server -y
  • 启动mariadb服务
systemctl start mariadb 
systemctl enable mariadb
  • mariadb监听的端口
 netstat -antlpe | grep mysql 
 ss -antlpe | grep mysql 
 vim /etc/services #所有服务与端口默认的对应关系
  • 只允许本地连接,阻断所有来自网络的连接
   vim /etc/my.cnf 
  写入:skip-networking=1
并且重启服务:systemctl restart mariadb 
  • 设置mysql的登陆密码
   mysql_secure_installation
   mysql -uroot -p(自己的密码)

二 数据库基本操作

1.登陆数据库

mysql -uroot -p(密码)

在这里插入图片描述 2.显示所有的数据库
注意:所有mysql数据库要加分号;

show databases;

在这里插入图片描述
3.进入名称为mysql的数据库

use mysql;

在这里插入图片描述
4.显示该数据库中的表

show tables;

在这里插入图片描述
5.显示表的结构

desc user;

在这里插入图片描述6.显示user表中的内容

select * from user;         #显示表中所有内容
select User,Password from user;     #显示表中指定内容

在这里插入图片描述
在这里插入图片描述
7.数据库创建与删除

create database siri;
drop database siri;

在这里插入图片描述
在这里插入图片描述
8.表的相关操作

#创建表
create table student(        
name varchar(20) not null, 
number varchar(3));
#插入表
alter table student add age varchar(3);
#删除表
drop table student;

在这里插入图片描述
在这里插入图片描述
9.数据的插入与修改

insert into student values ('user1','123'); #向表中插入内容
insert into student(passwd,username) values("456","user2"); #按照指定顺序向表中插入数据
update student set passwd='456' where username="user1"; #更新表中的内容
alter table student add sex varchar(3); #添加sex列到student表中
delete from student where username="user1"; #删除表中用户名为user1的记录

在这里插入图片描述
在这里插入图片描述

三 用户和访问权限的操作

创建用户hello,可在本机登陆,密码为hello

create user hello@localhost identified by 'hello';

创建用户hello,可在远程登陆,密码为hello

create user hello@'%' identified by 'hello';

创建一数据库mariadb,对普通用户进行

create database mariadb;

给hello@localhost用户授权,如果为all,授权所有权限
一般有这些权限:insert,update,delete,select,create

grant all on mariadb.* to hello@localhost;

刷新,重载授权表

flush privileges;

查看用户授权

show grants for hello@localhost;

删除指定用户授权

revoke delete,update on mariadb.* from hello@localhost;

删除用户

drop user hello@localhost;

四 忘记mysql用户密码时,怎么找回?

  1. 关闭mariadb服务
systemctl stop mariadb
  1. 跳过授权表
mysqld_safe --skip-grant-table &
  1. 修改root密码
mysql
> update mysql.user set Password=password('westos') where User='root';
  1. 关闭跳过授权表的进程,启动mariadb服务,使用新密码即可
ps aux | grep mysql
kill -9 pid
mysql -uroot -p

五 mysql的备份与恢复

备份:

mysqldump -uroot -p mariadb >mariadb.dump
mysqldump -uroot -pwestos --no-data mariadb > `date +%Y_%m_%d'_mariadb.dump
mysqldump -uroot -pwestos --all-databases >mariadb4.dump

恢复:

mysqladmin -uroot -pwestos create mariadb2
mysql -uroot -pwestos mariadb2< mariadb.dump

注意:

mariadb中文编码问题

当使用mysql数据库时,会使用中文存储一些数据,但是默认情况下存储的中文是 ???
1) 数据库编码格式的查看

首先登陆到数据库里面:mysql -uroot -predhat
查看mysql的编码格式:show variables like 'character_set_%'; 

在这里插入图片描述

临时修改和永久修改都会在重启mariadb服务后失效

最简单粗暴的方法:

直接设置character_set_database编码格式为utf8

set character_set_database = 'utf8';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值