数据的备份
备份所有数据库
mysqldump -uroot -predhat --all-data ##备份所有数据库的所有数据和结构
mysqldump -uroot -predhat --all-data --no-data ##备份所有数据库的结构但是不备份数据
备份指定的数据库
mysql -root -predhat userdata > /mnt/userdata.sql ##将userdata数据库中的数据输出重定向到/mnt/userdata.sql 中
mysql -uroot -predhat -e "DATABASES userdata;"
mysql -uroot -predhat -e "SHOW DATABASES;"
mysql -uroot -predhat -e "DROP DATABASE userdata;" ##删除userdata数据库
mysql -uroot -predhat -e "SHOW DATABASES;" ##查看当前的数据库,确认userdata数据库已经删除;方便后续的实验效果的查看
mysql -uroot -predhat < /mnt/userdata.sql ##将/mnt/userdata.sql中备份的数据输出重定向到数据库;
ERROR:NO database selected ##原因是没有指定要输出重定向到哪个数据库中
解决方法:
方法一:新建一个数据库,直接在命令中指定输出重定向到该数据库中
mysql -uroot -predhat -e "CREATE DATABASE userdata;" ##新建userdata这个数据库
mysql -uroot -predhat userdata < /mnt/userdata.sql ##指定输出重定向到userdata这个数据库中
vim /mnt/userdata.sql
在21、22行处增加
CREATE DATABASE userdata;
USE userdata;
mysql -uroot -predhat -e "SECLECT * FROM userdata.usertab" ##查看数据是否恢复
完整数据的备份
mysqldump --all-databases --single-transaction --triggers --routines --events --host=127.0.0.1 --port=3306 --user=root --password=redhat > backup.sql
在执行这种完整数据备份的时候需要将对外服务端口开再执行,一般情况下,这种备份方式不常用。
记得当前的超级用户密码,修改密码
mysqladmin -uroot -predhat password westos ##直接将超级用户root的密码由redhat改为westos
忘记超级用户密码,修改密码
在数据库启动的时候需要密码是因为启动时会读取授权表,去核对用户与对应密码之间的关系,但是由于现在忘记了超级用户密码,而密码的修改又必须由超级用户登录进行修改,所以要跳过授权表,直接进行免密登录再修改
systemctl stop mariadb ##在执行跳过授权表操作之前,要先关闭mariadb服务,否则会报错
mysqld_safe --skip-grant-tables & ##让进程在后台运行,不占用终端
mysql ##直接登录
UPDATE mysql.user SET Password='redhat' WHERE User='root'; ##修改root用户的密码为redhat,此时密码为明文
UPDATE mysql.user SET Password=password('redhat') WHERE User='root'; ##修改root用户的密码为redhat,此时密码显示为加密字符
ps aux | grep mysql
kill -9 mysql进程ip
测试
systemctl start mariadb
mysql -uroot -predhat ##能登录成功说明更改成功
yum install -y httpd
systemctl start httpd ##开启httpd服务;
2.将http服务添加到火墙中,要不然可能会出现server not connect的报错
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http ##将http服务添加到火墙中
firewall-cmd --reload
3.添加服务后浏览器测试会出现下图界面
原因是因为本来http服务默认读取的是/var/www/html
下的文件,但是因为此时该目录为空,所以自动读取到红帽官方的网站;
可以测试一下:
cd /var/www/html/
vim index.html ##在文件中写入内容
浏览器中测试出现以下界面:
测试后rm -fr index.html
删除即可
4.
tar zxf phpMy -C /var/www/html/ ##解压缩到/var/www/html目录下
mv phpMyAdmin ##重命名,便于浏览器中的输入
在浏览器中输入172.25.254.104/phpMyAdmin
会查看到以下界面
此时显示的形式为静态显示,原因是php不支持msql和缺少扩展文件;
5.下载PHP和相关扩展文件
yum list php ##查看php的版本
yum install -y php ##下载php
systemctl restart httpd
在浏览器中输入172.25.254.104/phpMyAdmin
会查看到以下界面,缺少扩展文件mbstring(版本要相对应)
下载mbstring安装包
rpm -ivh php-mbsrting-5.4.16
systemctl restart httpd
在浏览器中输入172.25.254.104/phpMyAdmin
会查看到以下界面,缺少扩展文件mysqli(版本要相对应)
yum search http ##找到mysql文件
yum install mysql(相关文件)
systemctl restart httpd
php -m | grep mysql ##查看对应是否出现mysql
在浏览器中输入172.25.254.104/phpMyAdmin
会查看到以下界面,则成功,登录新建数据库表
测试
使用命令方式直接进行查看,验证在网页上的mariadb的数据是否通过命令也能查看,如果能,则说明数据库既可以通过命令操作也可以通过网页,网页操作比较方便。