目录

linux下数据库的基本管理

目录

linux下数据库的基本管理

1.安装并初始化配置数据库:

   yum install mariadb-server -y  安装
   systemctl start mariadb        开启数据库服务
   mysql                          可以直接登陆
   netstat -antlpe | grep mysql
   vim /etc/my.cnf                编辑配置文件
     skip-networking=1            跳过网络接口开启服务

https://i-blog.csdnimg.cn/blog_migrate/77e1404d3d139a682b8b2ed77956fb67.png

   systemctl restart mariadb      重启数据库服务
   netstat -antlpe | grep mysql   查看mysql端口是否开放

https://i-blog.csdnimg.cn/blog_migrate/1efbb37c54736834a1f794ff2735f13b.png

   mysql_secure_installation      设置密码(除输入密码外一路回车)
     set root password [Y/n]         设置root用户密码
     Remove anonymous users [Y/n]    不允许匿名用户登陆
     Disallow root login remotely [Y/n] 阻止允许root用户远程登陆
     Remove test database and access to it [Y/n] 删除出入数据库的接口
     Reload privilege tables now [Y/n]  刷新数据库
   mysql -uroot -p                登陆(需输入密码)

https://i-blog.csdnimg.cn/blog_migrate/255a1b6089cc986afda5b66e55a4a506.png

https://i-blog.csdnimg.cn/blog_migrate/c2bf9cd734b41fc14aa28022ae69784b.png

https://i-blog.csdnimg.cn/blog_migrate/5d125de081e544953063aaeb43f00ddf.png

https://i-blog.csdnimg.cn/blog_migrate/3b5b56f5ea8cf6b5001731d5c53c1584.png

2.使用mysql数据库:

   mysql -uroot -p        登陆
   SHOW DATABASES;        查看数据库中的库
   USE mysql;             使用数据库中的mysql库
   SHOW TABLES;           查看表格

https://i-blog.csdnimg.cn/blog_migrate/80abd5990cbbe0a2e72d2801c3cb945e.png

   DESC user;             查看表头

https://i-blog.csdnimg.cn/blog_migrate/bb88036cd8e3eacc75bc26356cbda80d.png

查询数据:

   SELECT 查询字段 FROM 表格名 WHERE 查询条件;   看条件查询
   SELECT User,Host,password FROM user WHERE Host='localhost';  查询user表中的Host='localhost'的User,Host,password字段。

https://i-blog.csdnimg.cn/blog_migrate/6f7332a6a72c4ae93e200fc0d85f9637.png

3.数据库的建立

   CREATE DATABASE westos;        创建库
   SHOW DATABASES;                查看数据库中的库(验证库是否添加成功)

https://i-blog.csdnimg.cn/blog_migrate/62eca6fb42bca1c7582d790058ebd037.png

创建表格及表格中的字段:

   USE westos;                    使用westos库
   SHOW TABLES;                   显示库中表格
   CREATE TABLE linux(            给westos库中创建表格
   ->user varchar(6) not null,    表格中的字段及属性(not null代表不能为空)
   ->passwd varchar(8) not null);
   DESC linux;              查看表格的结构(表头,验证字段是否添加成功)

https://i-blog.csdnimg.cn/blog_migrate/b09bc2c2a20a68b192a76f75f0096c9e.png

给字段添加值:

   INSERT INTO linux valuse ('lee','123'); 给表格中的字段添加值
   SELECT * FROM linux;     查询linux表格中的所有信息(验证值是否添加成功)

https://i-blog.csdnimg.cn/blog_migrate/1157ee02b7083634a72aa75d0ee61849.png

4.数据库的增删改:

 ALTER TABLE linux RENAME messages; 修改表格的名字

https://i-blog.csdnimg.cn/blog_migrate/30efaa4ffcb67997a3b1b3d156aab19e.png

  ALTER TABLE linux ADD age varchar(4);在表格中添加age字段(加在最后面)
  ALTER TABLE linux ADD age varchar(4) AFTER name; 在表格中的指定位置添加

https://i-blog.csdnimg.cn/blog_migrate/025675e57ea6ae3eb4ec7cd00bcbdd39.png

  ALTER TABLE linux DROP age;  删除age字段

https://i-blog.csdnimg.cn/blog_migrate/b6180b3927660dbe489f33db34f3d083.png

  UPDATE linux SET passwd='123' WHERE name='lee';  更改name='lee'的passwd字段为123

https://i-blog.csdnimg.cn/blog_migrate/b6a106c24a77fd017cfd99f3067b4431.png

  DELETE FROM linux WHERE name='lee';  删除表格中的lee用户

https://i-blog.csdnimg.cn/blog_migrate/317e601e9f446f1dc342797b5b3c50c5.png

 DROP TABLE linux;  删除表格

https://i-blog.csdnimg.cn/blog_migrate/1bff49a1b38e4671cc6a30e044b95491.png

  DROP DATABASE westos;删除库

https://i-blog.csdnimg.cn/blog_migrate/22b3ff7281f046ba9f749b7db7380d52.png

5.网页管理数据库:

  yum install php httpd -y
  yum install php-mysql.x86_64 -y
  systemctl strat httpd
  systemctl stop firewalld
  cd /var/www/html
    phpMyAdmin-2.11.3-all-languages.tar.bz2
  tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2
  mv phpMyAdmin-2.11.3-all-language mysqladmin
  cd mysqladmin
  cp config.sample.inc.php config.inc.php

https://i-blog.csdnimg.cn/blog_migrate/4f9dda1fe1e0d9bd93c03120be35b5d0.png

浏览器验证: 登陆数据库

https://i-blog.csdnimg.cn/blog_migrate/bbddf6eb4a09442e343b0486274a26c8.png

数据库网页管理的操作:

https://i-blog.csdnimg.cn/blog_migrate/c0ab27e24e2502aef6565f90d509359e.png

https://i-blog.csdnimg.cn/blog_migrate/6437f80c459aa67b202f5fa84b75a91e.png

https://i-blog.csdnimg.cn/blog_migrate/9ecae91b02e988f4f8d956f5dfb13b26.png

https://i-blog.csdnimg.cn/blog_migrate/74a35f506e74ac90faadb9e938432825.png

https://i-blog.csdnimg.cn/blog_migrate/29a6c3ec837e8b38f491a6da2ac87284.png

https://i-blog.csdnimg.cn/blog_migrate/cadd02ff5ba3a3c3382e5d818dffd59f.png

https://i-blog.csdnimg.cn/blog_migrate/b768fcd78776aca83f7037c0ccd3511a.png

https://i-blog.csdnimg.cn/blog_migrate/9ef7e04c266ce9ad5250e6280ee39491.png

6.创建数据库用户:

  CREATE USER lee@localhost identified by 'lee';  (localhoost 只能本机登陆,%s可以任何主机远程登陆)

https://i-blog.csdnimg.cn/blog_migrate/ed636d09b0824949d6c72b8ab2705a4d.png

https://i-blog.csdnimg.cn/blog_migrate/d86b97287fdfdfca54c9764b0870f269.png

  GRANT INSERT,UPDATE,SELECT,DELETE on westos.* to lee@localhost; 给用户授权
        创建属性值,更新,查询,删除         库名         用户

https://i-blog.csdnimg.cn/blog_migrate/3dbd0b407b8f07b6dfb0268fea0d1423.png

https://i-blog.csdnimg.cn/blog_migrate/a5b67195171d4cf9b047eca4b33ddfd6.png

https://i-blog.csdnimg.cn/blog_migrate/94b5ebb94990a2a00620a9436c5f7489.png

  SHOW GRANTS FOR lee@localhost; 查看用户权限
  REVOKE UPDATE,DELETE,SELECT,INSERT on westos.* from lee@localhost; 撤销用户权限

https://i-blog.csdnimg.cn/blog_migrate/e31ce4e7bbe7d51e679adc506657e9d7.png

  DROP USER lee@localhost;  删除用户

7.更改数据库root密码(忘记密码):

  systemctl stop mariadb 关闭数据库
  mysqld_safe --skip-grant-tables & 跳过授权表(打入后台)
  mysql                             登陆(不需要密码)

https://i-blog.csdnimg.cn/blog_migrate/7f9a87942451d3679995dfc4e31d8dea.png

  update mysql.user set Password('123') where User='root'  更改root密码
  fg ---> ctrl+z                   调回前台(查看进程名)
  killall -9 mysql_safe     结束mysql进程
  ps axu | grep mysql       过滤所有mysql进程
  kill -9 7098              结束剩余的mysql进程
  mysql -uroot -p           重新密码登陆(更改成功)

https://i-blog.csdnimg.cn/blog_migrate/6c7376d53643bd1d0863c5191baafb50.png

  mysqladmin -uroot -p123 password 'redhat'(没有忘记密码时修改密码)

8.数据库的备份及恢复:

备份:

   mysqldump -uroot -predhat --all-database 备份所有数据库
   mysqldump -uroot -predhat --all-database --no-data  只备份数据库的表框架
   mysqldump -uroot -predhat westos   备份westos库
   mysqldump -uroot -predhat westos > /mnt/westos.sql  备份westos库并保存到/mnt/westos.sql中
   mysql -uroot -prdhat -e "drop database westos;" 删除westos库
   mysql -uroot -predhat -e "show databases;"      查看数据库中的库

https://i-blog.csdnimg.cn/blog_migrate/3186efe70df39da5012264569325c9af.png

恢复:

第一种方法:

    1.vim /mnt/westos.sql   编写文件
       CREATE DATABASE westos;  加入数据库的创建并使用
       USE westos;

https://i-blog.csdnimg.cn/blog_migrate/f40d2854dc2988a18ac6f64bf280b5f8.png

    mysql -uroot -predhat < /mnt/westos.sql 恢复westos库

https://i-blog.csdnimg.cn/blog_migrate/1b337fcd547d5498974deaa335bac535.png

第二种恢复方式:

    2.mysql -uroot -predhat -e "CREATE DATABASE westos;"用命令执行创建westos库
      mysql -uroot -predhat westos < /mnt/westos.sql 恢复westos数据库

https://i-blog.csdnimg.cn/blog_migrate/c77d02053e1220476c3ff7847ac11d5e.png