Linux中mariadb数据库的管理

数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。常见的数据库有MySQL、SQL Server、Oracle、Sybase、DB2。MariaDB数据库管理系统是MySQL的一个分支。

文件————> 一张表
多个表格(文件)————>数据库
多个数据库——————————>数据库软件
一、数据库的安装 (安装>>安全初始化>>关3306接口)
[root@dns mnt]# yum  search  mariadb                    ###查找与mariadb有关软件包
[root@dns mnt]# yum  install   mariadb-server   -y   ###安装数据库软件
[root@dns mnt]# mysql_secure_installation        ###第一次启动前,进行安全初始化,对mysql进行设置
--->>>原始密码;新建数据库密码;禁止匿名用户进入?;禁止超级用户远程进入?;用户进入是否检测数据库;是否刷新数据库


[root@dns mnt]# systemctl  start  mariadb           ###启动服务
[root@dns mnt]# netstat   -antlupe  |  grep  mysql   ###查看数据库接口mysql:3306 ; 打开不安全  


[root@dns mnt]# vim   /etc/my.cnf
--->>>10   skip-networking=1     ###封闭端口;只允许本地连接,阻断所有来自网络连接网络连接时出现error2003
[root@dns mnt]# systemctl   restart  mariadb.service           ###重启服务; 此时端口已关闭 
二、数据库的使用
1.数据库查询 (;必须加)
[root@dns mnt]# mysql   -uroot   -pwestos       ###直接写密码不安全
[root@dns mnt]# mysql   -uroot   -p                   ###-u用户;-p密码

MariaDB [(none)]> SHOW  DATABASES;     ###显示数据库(数据库show=系统ls)

MariaDB [(none)]> USE  mysql;         ###进入某个数据库(数据库use=系统cd)


MariaDB [mysql]> SHOW  TABLES;        ###显示此数据库中的所有表

MariaDB [mysql]> DESC  user;          ###查看某个表的数据结构


MariaDB [mysql]> select * from  user;     ###查询表中的所有字段信息(数据库字段=表格表头)


MariaDB [mysql]> select  User,Host,Password  from  user;    ###查询表中的某几个字段信息(数据库select=系统cat)

MariaDB [mysql]> flush  privileges;      ###刷新数据库信息
2. 创建数据库
MariaDB [(none)]> CREATE  database  westos;     ###创建名为westos的数据库
MariaDB [(none)]> SHOW DATABASES;       ##列出当前已有的库


MariaDB [westos]> USE  westos;             ##选择了数据库,才可在它中建表
MariaDB [westos]> CREATE  TABLE  linux (         ###创建westos数据库中的linux表
    -> username varchar(6) not null,                         ##字段  字符类型char(长度) 不能为空
    -> password varchar(50) not null
    -> );

MariaDB [westos]> SHOW  TABLES; 


MariaDB [westos]> DESC  linux;


MariaDB [westos]> INSERT  INTO  linux  values('dmf','999');         ##向表中插入数据
MariaDB [westos]> SELECT  *  FROM  linux;

3. 数据库的更改
MariaDB [westos]> ALTER  TABLE  linux  RENAME  messages;     ##更改数据库中表名字

MariaDB [westos]> SHOW TABLES;        ##查看表格

MariaDB [westos]> ALTER  TABLE  message RENAME  linux;     ##更改数据库中表名字
MariaDB [westos]> ALTER  TABLE  linux  ADD  age varchar(50);     ##添加字段age,char类型,长度50

MariaDB [westos]> SELECT  *  FROM  linux;


MariaDB [westos]> ALTER  TABLE  linux  DROP  age;          ###删除表中CLASS字段
MariaDB [westos]> ALTER TABLE linux ADD age VARCHAR(10) AFTER username;    ###在username字段后添加age字段

MariaDB [westos]> SELECT  *  FROM  linux;


MariaDB [westos]> UPDATE  linux  set  password='888'  WHERE  username='dmf'   AND ...;                                                                                                                              ###更新表中内容,AND后可加任意多个条件

MariaDB [westos]>DELETE  FROM  linux  where  username='dmf';              ##删除表中用户名为dmf的一行记录
MariaDB [westos]> SELECT  *  FROM  linux;

MariaDB [westos]>DROP  table  linux;       ###删除表
MariaDB [westos]> SHOW  tables;

MariaDB [westos]>DROP  DATABASE  westos;            ###删除数据库
MariaDB [(none)]> SHOW DATABASES;

三、在网页(apache)上建立及管理数据库
[root@dns ~]# yum  install  httpd  php  php-mysql.x86_64   -y       ##下载httpd ,php ,php与mysql对应转接服务
[root@dns ~]# systemctl  start  httpd.service

[root@dns ~]# cd   /var/www/html          ##必须在apache的默认发布目录里

[root@dns html]# ls

                              ##安装包
 [root@dns html]# tar  jxf  phpMyAdmin-2.11.3-all-languages.tar           ##解压、拆包

[root@dns html]# mv  phpMyAdmin-3.4.0-all-languages   mysqladmin     ##更改名字为myaqladmin

[root@dns html]# cd  mysqladmin 
[root@dns mysqladmin]# less  phpMyAdmin-2.11.3-all-languages/Documentation.txt

                                                        ##记录着安装过程 (下载包,看php,mysql版本号;按模板生成config.inc.php并输入密码)
[root@dns mysqladmin]# rpm  -qa  |  grep php     ##看版本
[root@dns mysqladmin]# cp  config.sample.inc.php   config.inc.php     ##生成文件 ;注意文件安全上下文要为httpd_sys_content_t
[root@dns mysqladmin]# vim   config.inc.php              ###配置文件
17  $cfg['blowfish_secret'] = 'ba17c1ec07d65003';             ##密码在安装过程文件中有
[root@dns mysqladmin]# systemctl restart httpd
[root@dns mysqladmin]# systemctl start mariadb     ##打开数据库软件
检测:浏览器 172.25.254.112/mysqladmin           ###输入mariadb数据库用户及密码

                   ###创建westos数据库

           ###在westos数据库中建linux表格

                  ###创建linux表格里的字段

  ##填写表格信息      

注意:网络连接时

ERROR 1045 :因为用户名或者密码不正确

ERROR 2003 :因为在mysql配置文件/etc/my.cnf里边,设置了不允许网络用户访问

四、数据库备份
1)备份
[root@dns mnt]# mysql   -uroot   -pwestos   -e   "show databases;"       ##查看数据库


[root@dns mnt]# mysqldump -uroot -pwestos --all-databases      ##查看所有数据库资料


[root@dns mnt]# mysqldump   -uroot   -pwestos    --all-databases    --no-data     ##查看所有数据结构
[root@dns mnt]# mysqldump   -uroot   -pwestos  westos  >  /mnt/westos.sql      ##指定数据库的资料备份
2)删库
[root@dns mnt]# mysql  -uroot  -p123  -e   "drop database westos;"    ##删除数据库

[root@dns mnt]# mysql   -uroot   -pwestos   -e   "show databases;"       ##查看数据库

    ###weosto库已删除
4)恢复,库需存在
方法1:命令建库
[root@dns mnt]# mysql  -uroot  -p  westos  "CREATE  DATABASE  westos;"

[root@dns mnt]# mysql -uroot -pwestos  <  /mnt/ku.sql       ##数据恢复;注意:备份的数据库必须存在
方法2:文本方式建库
[root@dns mnt]# vim  /mnt/ku.sql              ##修改备份文件


[root@dns mnt]# mysql -uroot -pwestos  <  /mnt/ku.sql        ##数据恢复
[root@dns mnt]# mysql  -uroot  -pwestos  -e  "SELECT  *  FROM  westos.linux;"     ##恢复后,登陆数据库查看

五、数据库mysql密码忘记
1.改密码
[root@dns mnt]# mysqladmin  -uroot  -pwestos  password  student    ###修改root用户密码为student
[root@dns mnt]# mysql  -uroot  -pstudent
Welcome to the MariaDB monitor.  Commands end with ; or \g.
2.忘记密码
1)关闭mariadb服务,进入安全模式
[root@dns ~]# systemctl stop mariadb       ##关闭服务
[root@dns ~]# mysqld_safe  --skip-grant-tables &        ##跳过授权列表,进入安全模式;ctrl+c结束
2)修改root密码
[root@dns ~]# mysql            ##安全模式无密码可登陆
MariaDB [(none)]> UPDATE  mysql.user  SET  Password=password('westos')   WHERE  User='root';

                                                                                   ##修改密码为westos,并将他用password加密;不加密则密码为明文
MariaDB [mysql]> SELECT  User,Password  FROM  user;           ###密码修改成功
+------+-------------------------------------------------------------------------------+
| User | Password                                                                                 |
+------+-------------------------------------------------------------------------------+
| root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
| root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
| root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
+------+--------------------------------------------------------------------------------+
3)重启服务
[root@dns ~]# ps aux | grep mysql              ##查看mysql的进程


[root@dns ~]# kill -9  1882           ###关闭所有mysql进程;留下root进程
[root@dns ~]# systemctl restart mariadb       ##重启服务
[root@dns ~]# mysql -uroot -pwestos         ###用新密码登陆成功
Welcome to the MariaDB monitor.  Commands end with ; or \g.
六、数据库的用户授权管理
1.新建用户
MariaDB [(none)]> CREATE USER  dmf@'localhost'   identified   by  '123'; 

                                                                                            ##新建dmf用户,他只可在本机使用数据库,他的密码为123
MariaDB [(none)]> CREATE USER  teacher@'%' identified by 'teacher';  

                                                                                             ##新建teacher用户,他可远程登陆并使用数据库,他的密码为teacher
MariaDB [(none)]> SELECT  User,Host   FROM   mysql.user;       ###查看新建用户


2.查看用户权限及授权
MariaDB [(none)]> GRANT   SELECT,INSERT,UPDATE,DELETE  ON   westos.*   TO  dmf@localhost; 

                                                                                                           ##给用户授权;可查看、可插入可更新可删除
MariaDB [(none)]> SHOW  GRANTS  FOR  dmf@localhost;          ###查看student用户权限
GRANT SELECT, INSERT, UPDATE, DELETE ON `westos`.* TO 'dmf'@'localhost'    ## 可查看、插入、更新、删除
[root@dns ~]# mysql   -udmf    -p123             ##dmf用户登陆数据库
MariaDB [(none)]> SHOW DATABASES;   ###有权限:可登陆,可看
3)撤销权限
MariaDB [(none)]> REVOKE   SELECT, INSERT, UPDATE, DELETE  on  westos.*   from  dmf@localhost;    ###撤销dmf用户权限
[root@dns ~]# mysql   -udmf   -p123             ##dmf用户登陆数据库
MariaDB [(none)]> SHOW DATABASES;     ###无权限:可登陆,但不可看任何东西
4)删除用户
MariaDB [(none)]> DROP USER dmf@localhost;
MariaDB [(none)]> DROP USER teacher@'%';
 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值