Linux基础学习-MariaDB数据库管理系统
数据库管理系统
数据库是指按照某些特定结构来存储数据资料的数据仓库,数据库管理系统是一种能够对数据库中存放的数据进行建立、修改、删除、查找、维护等操作的软件程序.
初始化MariaDB服务
[root@mail ~]# yum install mariadb mariadb-server -y
[root@mail mysql]# systemctl restart mariadb
[root@mail mysql]# systemctl enable mariadb
ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'
[root@mail ~]# mysql
mysql mysqldump mysql_setpermission
mysqlaccess mysqldumpslow mysqlshow
mysqladmin mysql_find_rows mysqlslap
mysqlbinlog mysql_fix_extensions mysqltest
mysqlbug mysqlhotcopy mysql_tzinfo_to_sql
mysqlcheck mysqlimport mysql_upgrade
mysql_convert_table_format mysql_install_db mysql_waitpid
mysqld_multi mysql_plugin mysql_zap
mysqld_safe mysql_secure_installation
[root@mail mysql]# mysql_secure_installation
/usr/bin/mysql_secure_installation:行379: find_mysql_client: 未找到命令
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): //直接回车
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y(设置root管理员密码)
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y(删除匿名用户)
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n]Y(禁止root管理员从远程登录)
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y(删除test数据库并取消对它的访问权限)
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y(刷新授权表,让初始化后的设定立即生效)
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@mail mysql]# firewall-cmd --permanent --add-service=mysql
[root@mail mysql]# firewall-cmd --reload
登录MariaDB数据库,其中-u参数用来指定以root管理员的身份登录,-p参数用来验证该用户在数据库中的密码值.
[root@mail mysql]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.35-MariaDB MariaDB Server
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> SHOW databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.02 sec)
//重置root管理员密码
MariaDB [(none)]> SET password = PASSWORD('redhat');
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
管理账户以及授权
命令 | 作用 |
---|---|
GRANT 权限 ON 数据库.表单名称 TO 账户名@主机名 | 对某个特定数据库中的特定表单给予授权 |
GRANT 权限 ON 数据库.* TO 账户名@主机名 | 对某个特定数据库中的所有表单给予授权 |
GRANT 权限 ON . TO 账户名@主机名 | 对所有数据库及所有表单给予授权 |
GRANT 权限1,权限2 ON 数据库.* TO 账户名@主机名 | 对某个数据库中的所有表单给予多个授权 |
GRANT ALL PRIVILEGES ON . TO 账户名@主机名 | 对所有数据库及所有表单给予全部授权 |
MariaDB [(none)]> create user hcie@localhost identified by 'hcie';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant select,update,delete,insert on mysql.* to hcie;
Query OK, 0 rows affected (0.03 sec)
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.00 sec)
MariaDB [(none)]> show grants for hcie@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for hcie@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hcie'@'localhost' IDENTIFIED BY PASSWORD '*D6CDD5D8461B882D121CAC3EE6A028367E198649' |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]> show grants for hcie;
+-----------------------------------------------------------------+
| Grants for hcie@% |
+-----------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hcie'@'%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `mysql`.* TO 'hcie'@'%' |
+-----------------------------------------------------------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> revoke select,update,delete,insert on mysql.* from hcie;
Query OK, 0 rows affected (0.00 sec)
命令 | 作用 |
---|---|
CREATE DATABASE 数据库名称 | 创建新的数据库 |
DESCRIBE 表单名称 | 描述表单 |
UPDATE 表单名称 SET attribute=新值 WHERE attribute>原始值 | 更新表单中的数据 |
USE 数据库名称 | 指定使用的数据库 |
SHOW databases | 显示当前已有的数据库 |
SHOW tables | 显示当前数据库中的表单 |
SELECT * FROM 表单名称 | 从表单中选中某个记录值 |
DELETE FROM 表单名 WHERE attribute=值 | 从表单中删除某个记录值 |
创建数据库与表单
MariaDB [(none)]> create database typecho;
Query OK, 1 row affected (0.02 sec)
MariaDB [(none)]> use typecho;
Database changed
MariaDB [typecho]> create table mybook (name char(15),price int,pages int);
Query OK, 0 rows affected (0.14 sec)
MariaDB [typecho]> show tables;
+-------------------+
| Tables_in_typecho |
+-------------------+
| mybook |
+-------------------+
1 row in set (0.00 sec)
MariaDB [typecho]> describe mybook;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char(15) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| pages | int(11) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.05 sec)
管理表单及数据
参数 | 作用 |
---|---|
= | 相等 |
<>或!= | 不相等 |
> | 大于 |
< | 小于 |
>= | 大于或等于 |
<= | 小于或等于 |
BETWEEN | 在某个范围 |
LIKE | 搜索一个例子 |
IN | 在列中搜索多个值 |
MariaDB [typecho]> insert into mybook(name,price,pages) values('linux','60','618');
Query OK, 1 row affected (0.04 sec)
MariaDB [typecho]> select * from mybook;
+-------+-------+-------+
| name | price | pages |
+-------+-------+-------+
| linux | 60 | 618 |
+-------+-------+-------+
1 row in set (0.00 sec)
MariaDB [typecho]> update mybook set price=65;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [typecho]> select name,price from mybook;
+-------+-------+
| name | price |
+-------+-------+
| linux | 65 |
+-------+-------+
1 row in set (0.00 sec)
MariaDB [typecho]> delete from mybook;
Query OK, 1 row affected (0.00 sec)
MariaDB [typecho]> select * from mybook;
Empty set (0.00 sec)
MariaDB [typecho]> insert into mybook(name,price,pages) values('linux1','30','518');
Query OK, 1 row affected (0.01 sec)
MariaDB [typecho]> insert into mybook(name,price,pages) values('linux2','50','518');
Query OK, 1 row affected (0.01 sec)
MariaDB [typecho]> insert into mybook(name,price,pages) values('linux3','80','518');
Query OK, 1 row affected (0.01 sec)
MariaDB [typecho]> insert into mybook(name,price,pages) values('linux4','100','518');
Query OK, 1 row affected (0.00 sec)
MariaDB [typecho]> select * from mybook where price > 75;
+--------+-------+-------+
| name | price | pages |
+--------+-------+-------+
| linux3 | 80 | 518 |
| linux4 | 100 | 518 |
+--------+-------+-------+
2 rows in set (0.00 sec)
MariaDB [typecho]> select * from mybook where price != 80;
+--------+-------+-------+
| name | price | pages |
+--------+-------+-------+
| linux1 | 30 | 518 |
| linux2 | 50 | 518 |
| linux4 | 100 | 518 |
+--------+-------+-------+
3 rows in set (0.00 sec)
数据库的备份及恢复
[root@mail mysql]# mysqldump -u root -p typecho > /root/typechoDB.dump
Enter password:
MariaDB [(none)]> drop database typecho;
Query OK, 1 row affected (0.02 sec)
MariaDB [(none)]> create database typecho;
Query OK, 1 row affected (0.00 sec)
[root@mail mysql]# mysql -u root -p typecho < /root/typechoDB.dump
Enter password:
[root@mail mysql]# mysql -u root -p
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| typecho |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> use typecho;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [typecho]> select name,pages from mybook;
+--------+-------+
| name | pages |
+--------+-------+
| linux1 | 518 |
| linux2 | 518 |
| linux3 | 518 |
| linux4 | 518 |
+--------+-------+
4 rows in set (0.00 sec)
MariaDB [typecho]> show tables;
+-------------------+
| Tables_in_typecho |
+-------------------+
| mybook |
+-------------------+
1 row in set (0.00 sec)
MariaDB [typecho]> describe mybook;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char(15) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| pages | int(11) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.00 sec)
Linux基础学习-MariaDB数据库管理系统的更多相关文章
- Linux基础学习系列目录导航
Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...
- 《Linux就该这么学》培训笔记_ch18_使用MariaDB数据库管理系统
<Linux就该这么学>培训笔记_ch18_使用MariaDB数据库管理系统 文章最后会post上书本的笔记照片. 文章主要内容: 初始化MariaDB服务 管理用户以及授权 创建数据库与 ...
- MariaDb数据库管理系统的学习(一)安装示意图
MariaDB数据库管理系统是MySQL的一个分支.主要由开源社区在维护,採用GPL授权许可.开发这个分支的原因之中的一个是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区採用分 ...
- 基于Linux系统的MariaDB数据库的安装配置
数据库是指长期存储在计算机内.有组织的和可共享的数据集合.表是数据库存储数据的基本单位,一个表由若干个字段组成 MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 G ...
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- linux基础学习路线&review
linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...
- Linux 基础学习1
目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...
- Linux 基础学习2
目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...
- 第18章 使用MariaDB数据库管理系统
章节概述: MYSQL数据库管理系统被Oracle公司收购后从开源换向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB. 本章节将教会您使用mariaDB数据库管理工具来管理数据库 ...
随机推荐
- iOS常用的存储方式
在iOS App开发过程中经常需要操作一些需要持续性保留的数据,比如用户对于App的相关设置.需要在本地缓存的数据等等.本文针对OC中经常使用的一下存储方式做了个整理. 常用的存储工具/方式: NSU ...
- Qt 进程和线程之四:线程实际应用
为了让程序尽快响应用户操作,在开发应用程序时经常会使用到线程.对于耗时操作如果不使用线程,UI界面将会长时间处于停滞状态,这种情况是用户非常不愿意看到的,我们可以用线程来解决这个问题. 大多数情况下, ...
- AKOJ-1695-找素数
题意: 给定区间L,R. 计算区间中素数个数. 2 <= L,R <= 2147483647, R-L <= 1000000. 思路: 素数区间筛 先筛(2-sqrt(r)). 再用 ...
- Codeforces Round #390 (Div. 2) B
Ilya is an experienced player in tic-tac-toe on the 4 × 4 field. He always starts and plays with Xs. ...
- Action类为何要 extends ActionSupport以及实现ModelDriven
http://blog.sina.com.cn/s/blog_164e377490102wqhk.html
- py3.5 telnet的实例(在远程机器上批量创建用户)
import sysimport telnetlibimport time HOST = ["172.18.217.12","172.18.217.13"]#往 ...
- 自定义xml配置文件之dtd文件校验
用了很多第三方库,也看了些源码,总是想如果自己写一个类似的库,读取xml配置文件(properties配置文件比较简单) 该如何给配置文件添加头,添加校验,因为xml配置文件相对于properties ...
- ASP.NET Cookie的登录验证
做用户登录,我一直用form验证的方式.有时候,为了节省时间,用户希望用户名输入框能够记住用户名,省得下次重新输入.这个时候光用form验证是不行的,因为form验证的话,用户一退出系统就失效了,所以 ...
- Java常用函数式接口--Consumer接口使用案例
第一种方式: 第二种方式:
- Mongodb JAVA API
连接mongodb 1.连接一个mongodb ); 2.连接mongodb集群 MongoClient mongoClient = ), new ServerAddress("localh ...