RHEL7/Mysql SQL DB/Table example

本文详细介绍了如何在MariaDB中创建用户、数据库及权限分配,并通过具体的SQL语句演示了表结构的设计、数据插入以及基本的数据查询和更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### create user 
MariaDB [(none)]> create user 'training'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

##########create new DB training 
MariaDB [(none)]>create database training DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

MariaDB [(none)]> grant all privileges on `training`.* to 'training'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
##########

#############Table create  

CREATE TABLE `student` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(32) DEFAULT NULL,
  `sex` varchar(8) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `major` varchar(32) DEFAULT NULL
) ;


INSERT INTO student(id,name,sex,age,major) VALUES(1,'ZhangSan','M',18,'Computer');
INSERT INTO student(id,name,sex,age,major) VALUES(2,'LiSi','F',21,'Manager');
INSERT INTO student(id,name,sex,age,major) VALUES(3,'wangwu','F',19,'electronic');

 


CREATE TABLE `course` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(32) DEFAULT NULL,
  `score` int(11) DEFAULT NULL
) ;


INSERT INTO course(id,name,score) VALUES(1,'SQL', 4);
INSERT INTO course(id,name,score) VALUES(2,'Chinese',3);
INSERT INTO course(id,name,score) VALUES(3,'Math',2);


CREATE TABLE `sc` (
  `id` int(11) DEFAULT NULL,
  `Stu_id` int(11) DEFAULT NULL,
  `Course_id` int(11) DEFAULT NULL,
  `make` int(11) DEFAULT NULL
) ;

INSERT INTO sc(id,Stu_id,Course_id,make) VALUES(1,1,1,88);
INSERT INTO sc(id,Stu_id,Course_id,make) VALUES(2,2,1,90);
INSERT INTO sc(id,Stu_id,Course_id,make) VALUES(3,2,2,70);
INSERT INTO sc(id,Stu_id,Course_id,make) VALUES(4,3,3,79);


 
 
 ### Update
 select * from course WHERE id=3;
 UPDATE course SET score = 3 WHERE id=3;
 
 select * from course WHERE id=3;
 
 
 #### select 
 
 select * from student WHERE age>18;
 
 select * from student WHERE age>18 ORDER BY age DESC;
 

做基本完整的备份策略,按备份策略使用percona-xtrabackup做全量和增量备份并模拟数据损坏恢复数据为完整一致。 1)下载 xtrabackup wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz 2)解压 # tar zxf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz 3)进入解压目录 # cd percona-xtrabackup-2.4.4-Linux-x86_64/ 4)复制 bin 下的所有程序到/usr/bin [root@localhost percona-xtrabackup-2.4.4-Linux-x86_64]# cp bin/* /usr/bin/ 5)安装相关插件 #yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5 –y 6)下载 percona-toolkit 并安装 #wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm # rpm -vih percona-toolkit-2.2.19-1.noarch.rpm 完全备份: 语法:# innobackupex --user=DBUSER --password=DBUSERPASS /path/to/BACKUP-DIR/ # innobackupex --user=root --password=123456 /opt/mysqlbackup/full 增量备份二进制文件: #mysqlbinlog --start-position=2378 /usr/local/mysql/data/mysql-bin.000023 > /opt/mysqlbackup/inc/`date +%F`.sql 模拟数据库损坏: 例 : # rm -fr /home/mysql/data/* 还原完全备份: # innobackupex --apply-log /opt/mysqlbackup/full/2016-09-12_11-29-55/ --apply-log 指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中。 注:/opt/mysqlbackup/full/2016-09-12_11-29-55/备份文件所在目录名称 还原数据库: # innobackupex --copy-back /opt/mysqlbackup/full/2016-09-12_11-29-55/ 这里的--copy-back 指明是进行数据恢复。数据恢复完成之后,需要修改相关文件的权限 mysql 数据库才能正常启动。 # chown -R mysql:mysql /usr/local/mysql/data/ 必须重启 MySQL: # systemctl restart mysqld 验证还原后的数据:
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值