数据库是用来存放数据表格的
1.数据库的安全初始化
<1>yum install mariadb-server -y #下载数据库软件
<2>systemctl start mariadb
<3>systemctl stop firewalld
<4>mysql #可以进行免密登陆,此时所有的客户端都可以登陆
<5>netstsat -antlpe | grep mysql #查看mysql的状态,对外开放
<6>vim /etc/my.cnf
skip-networking=1 #开启跳过网络接口功能即关闭mysql的网络接口
<7>systemctl restart mariadb #修改完配置文件之后必须重启服务才生效
<8>netstsat -antlpe | grep mysql #再次查看端口,已经关闭,此时只有本地用户可以登陆
<9>mysql #本地用户免密登陆,这样不安全
<10>mysql_secure_installation #设置数据库安全初始化脚本,使超级用户用密码登陆,以及限制其他用户登陆
<11>mysql -uroot -p #超级用户用密码登陆
2.查看数据库
mysql -uroot -p #登陆上去后执行以下命令
<1>SHOW DATABASES; #显示所有数据库(相当于ls)
<2>USE mysql; #切换到mysql数据库中(相当于cd)
<3>SHOW tables; #显示数据库中所有的表格(相当于ls)
<4>SELECT User,Host,Password,Select_priv FROM user Where User='root'; #从root用户的User中查询
<5>SELECT User,Host,Password,Select_priv FROM user Where User='root' AND host='localhost'; #查询user表的数据结构
<6> DESC user; #查看user表中的字段
3.数据库的新建
<1>CREATE DATABASE westos #创建数据库westos
<2>SHOW DATABASES; #查看westos是否成功创建
<3>USE westos;
<4>SHOW TABLES; #查看westos中的表格
Empty set (0.00 sec) #表格为空
<5>CREATE TABLE linux(
-> username varchar(6) not null,
-> password varchar(10) not null);#新建数据库westos中的表格linux
Query OK, 0 rows affected (0.43 sec)
<5>SHOW TABLES; #查看新建的表格
<5>DESC linux;
<6>INSERT INTO linux values ('wang','111'); #在linux表格中插入信息
<7> INSERT INTO linux values ('ting','222');
<8>SELECT * FROM linux; #查看linux表格中的所有信息
4.数据库表的数据的更改:
<1>ALTER TABLE linux RENAME messages; #把表格的名字linux改为messages
<2>SHOW TABLES;
<3>ALTER TABLE messages ADD age varchar(10); #在表格中添加age
Query OK, 2 rows affected (0.41 sec)
Records: 2 Duplicates: 0 Warnings: 0
<4>DESC messages;
<5> ALTER TABLE messages DROP age; #删除age
<6>DESC messages;
<7> ALTER TABLE messages ADD age varchar(10) AFTER username; #有顺序的添加age
Query OK, 2 rows affected (0.42 sec)
Records: 2 Duplicates: 0 Warnings: 0
<8> DESC messages;
<9> UPDATE messages SET password='123' WHERE username='wang'; #更改用户wang的密码为123
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
<10>SELECT * FROM messages;
<11> DELETE from messages WHERE username='wang';#删除表格中的wang用户
<12> DROP TABLE messages; #删除表格
<13> DROP DATABASE westos; #删除数据库
5.用网页管理数据库(比上述方法更方便)
<1>yum install httpd php -y #安装网页管理数据库需要的服务
<2>systemctl start httpd #开启服务
<3>systemctl stop firewalld #关闭防火墙
<4>cd /var/www/html/
<5>ls #有此安装包,就直接进行解压,没有此安装包,就先获取安装包
<6>tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 #解压bz2的安装包
<7>ls #查看是否成功解压
<8>mv phpMyAdmin-3.4.0-all-languages/ mysqladmin #改名字
<9>打开浏览器输入: 172.25.254.138/mysqladmin/ #此时会报错,因为没有mysql功能
<10>yum install php-mysql.x86_64 -y #在php中添加mysql功能
<11>systemctl restart httpd
<12>再次打开浏览器输入: 172.25.254.138/mysqladmin/ #可以访问
6.用户授权
mysql -uroot -p #登陆
先创建用户:
<1>CREATE user lala@localhost identified by '111'; #创建密码为111的本地用户lala,只在本地可以登陆,localhost表示本地
<2>CREATE user helen@'%' identified by '222';#创建密码为222的远程用户,都可以登陆,'%'表示远程
<3>SELECT user from mysql.user; #查看建立的用户
开始授权:
<1>GRANT UPDATE,SELECT,INSERT on westos.* to lala@localhost;
#给本地用户授权,该用户可以对westos数据库进行编辑,插入,更新
<2>GRANT SELECT on westos.* to helen@'%'; #给远程用户授权
<3>SHOW GRANTS for lala@localhost; #查看权限
<4>SHOW GRANTS for helen@'%';
<5>REVOKE INSERT on westos.* FROM lala@localhost; #撤销用户权限
<6>FLUSH privileges #重载授权表
打开浏览器开始测试:
<7>授权之前,查看不到westos
<8>授权之后,可以查看到westos
<9>更改信息
7.用户密码更改
mysqladmin -uroot -pwestos password 'redhat' #直接修改密码
若普通用户密码忘记,可以通过root用户更改密码,若root用户密码忘记,执行以下操作
<1>systemctl stop mariadb
<2>mysqld_safe --skip-grant-tables &
<3>\
<4>mysql #进入数据库修改
<5>UPDATE mysql.user set Password='westos' where User='root'; #此方法时用明文修改密码
<6> SELECT * FROM mysql.user; #查看密码
<7>UPDATE mysql.user set Password=password('westos') where User='root'; ##此方法修改密码是加密的
<8> SELECT * FROM mysql.user;
<9>quit #退出数据库
<10>ps aux | grep mysql #查看mysql相关进程,全部关闭
<11>killall -9 mysqld_safe #关闭mysqld_safe进程
<12>kill -9 3785 #关闭myaql进程
<13>systemctl restart mariadb.service #重启服务
<14>mysql -uroot -p #用修改后的密码重新登陆
8.数据库资料备份和恢复
quit #退出数据库
<1>mysqldump -uroot -pwestos --all-database > /mnt/westos.all ##备份所有数据库数据
mysqldump -uroot -pwestos --all-database --no-data > /mnt/westos.err #只备份数据结构,不备份数据
mysqldump -uroot -pwestos westos > /mnt/westos.sql #指定westos数据库的资料备份
<2>ls /mnt/
<3> mysql -uroot -pwestos -e "drop database westos;" #模拟数据库丢失
<4> mysql -uroot -pwestos -e "show databases;" #查看是否成功丢失
<5>mysql -uroot -pwestos westos < /mnt/westos.sql #恢复丢失的数据库,但此时会报错
如何解决此问题
方法一:
<5>vim /mnt/westos.sql #编辑备份文件
<6>mysql -uroot -pwestos < /mnt/westos.sql #此时就可以成功恢复了
方法二:
用第二种方法时候将第一种方法文件中填写的内容删除
mysql -uroot -pwestos -e "drop database westos;" #模拟丢失
<7>mysql -uroot -pwestos -e "CREATE DATABASE westos;" #创建
<8>mysql -uroot -pwestos westos < /mnt/westos.sql #恢复
<9>mysql -uroot -pwestos -e "show databases;" #查看是否恢复
共同学习,写下你的评论
评论加载中...
作者其他优质文章