本文共 3938 字,大约阅读时间需要 13 分钟。
数据库管理
数据库:存放数据的仓库– 社区开源版 MariaDB 默认端口:3306 • RHEL7 中的 MariaDB 相关包– mariadb-server:提供服务端有关的系统程序– mariadb:提供客户端及管理工具 mariadb数据库中,会有很多的库,在每一个库中会有很多的表格
安装数据库
[root@server0 ~]# yum -y install mariadb-server[root@server0 ~]# systemctl restart mariadb[root@server0 ~]# systemctl enable mariadb
数据库基本操作
[root@server0 ~]# mysql > show databases; #显示所有库 > create database qwaszx; #创建qwaszx库 > show databases; #显示所有库 > drop database qwaszx; #删除qwaszx9库 > show databases; #显示所有库 > create database qw; #创建qw库 > show databases; #显示所有库 > exit #结束退出mariadb
为数据库管理员设置密码
数据库管理员 root: MariaDB数据库中mysql库--->user表 系统管理员 root: 账户信息存放在/etc/passwdLinux系统命令行• 为数据库账号修改密码– mysqladmin [-u用户名] [-p[旧密码]] password '新密码'[root@server0 ~]# mysqladmin -u root password '123'[root@server0 ~]# mysql -u root -p #交互式进入Enter password: [root@server0 ~]# mysql -u root -p123 #非交互式进入
• 禁止监听,只服务于本机,MariaDB主配文件为/etc/my.cnf• 导入/恢复到数据库[root@server0 ~]# vim /etc/my.cnf[mysqld]skip-networking //跳过网络监听– mysql [-u用户名] [-p[密码]] 数据库名 < 备份文件.sql# wget http://classroom.example.com/pub/materials/users.sql# ls # mysql -u root -p123 abc < users.sql #导入数据# mysql -u root -p123 #进入数据库 MariaDB [(none)]> use abc; #进入abc库 MariaDB [abc]> show tables; #显示所有表格 +---------------+ | Tables_in_nsd | +---------------+ | base | | location | +---------------+ 2 rows in set (0.00 sec)
表格操作:
insert(增) delete(删) update(改) select(查) 表字段 表记录查询表格内容 select 表字段 from 表名; select 表字段 from 库名.表名;[root@server0 ~]# mysql -u root -p123MariaDB [(none)]> use abc;MariaDB [abc]> show tables;
MariaDB [abc]> select * from base;MariaDB [abc]> select name from base;MariaDB [abc]> select name,password from base;MariaDB [abc]> select * from location;MariaDB [abc]> select id from location;MariaDB [(none)]> select * from nsd.base;查看表结构的命令: descMariaDB [(none)]> use nsd;MariaDB [abc]> desc base;MariaDB [abc]> use mysql;MariaDB [mysql]> desc user;MariaDB [mysql]> select user,host,password from user;
数据库的授权
– 除了root用户,此nsd数据库能被用户dc查询,此用户的密码为123• MariaDB [(none)]> 交互指令– GRANT 权限列表 ON 数据库名.表名 TO 用户名@客户机地址 IDENTIFIED BY '密码';[root@server0 ~]# mysql -u root -p123> grant select on abc.* to dc@localhost identified by '123';当dc从locahost登陆输入密码123,将会获得nsd库所有表的查询权限MariaDB [abc]> use mysql;MariaDB [mysql]> desc user;MariaDB [mysql]> select user,host,password from user;
验证:
[root@server0 ~]# mysql -u dc -p123数据库的授权– 除了root用户,此nsd数据库能被用户dc查询,此用户的密码为123• MariaDB [(none)]> 交互指令– GRANT 权限列表 ON 数据库名.表名 TO 用户名@客户机地址 IDENTIFIED BY '密码';[root@server0 ~]# mysql -u root -p123> grant select on abc.* to dc@localhost identified by '123';> grant select on abc.* to lisi@localhost identified by '123';当dc从locahost登陆输入密码123,将会获得nsd库所有表的查询权限MariaDB [nsd]> use mysql;MariaDB [mysql]> desc user;MariaDB [mysql]> select user,host,password from user;
验证:
[root@server0 ~]# mysql -u dc -p123[root@server0 ~]# mysql -u root -p123MariaDB [abc]> use abc;MariaDB [abc]> select * from base where password='solicitous';MariaDB [abc]> select * from abc.base where password='solicitous';MariaDB [abc]> show tables;MariaDB [abc]> select * from base;MariaDB [abc]> select * from location;MariaDB [abc]> select * from base,location where base.name='Barbara' and location.city='Sunnyvale';MariaDB [abc]> select * from base,location where base.name='Barbara' and location.city='Sunnyvale' and base.id=location.id; 联合表查询MariaDB [abc]> insert base values ('6','Barbara','789');MariaDB [abc]> select * from base;MariaDB [abc]> insert location values ('6','Sunnyvale');MariaDB [abc]> select * from location;MariaDB [abc]> select user,host,password from mysql.user;MariaDB [abc]> delete from mysql.user where password=''; 把空密码删掉MariaDB [abc]> select user,host,password from mysql.user;MariaDB [abc]> flush privileges; 刷新数据库
转载地址:http://crnwi.baihongyu.com/