Linux下的数据库管理

xiaoxiao2021-02-28  12

#数据库 按照数据结构来组织、存储和管理数据的建立里在计算机存储设备上的仓库。 简单理解就是,许多表格放在一起,组成一个库,库放在一起组成一个数据库,mysql目前应用最广泛,mariadb是其中一个分支。 1、数据库的安装和安全初始化设置

[root@localhost yum.repos.d]# yum install mariadb-server -y [root@localhost yum.repos.d]# systemctl start mariadb [root@localhost yum.repos.d]# mysql #默认可以直接登陆,不安全 [root@localhost yum.repos.d]# netstat -antlpe | grep mysql *#可以看到默认端口,表示数据库安装后默认裸露在互联网上 [root@localhost yum.repos.d]# vim /etc/my.cnf #编辑配置文件 skip-networking=1 #跳过数据库在网络上开启端口的功能 [root@localhost yum.repos.d]# systemctl restart mariadb [root@localhost yum.repos.d]# netstat -antlpe | grep mysql #无开启端口 [root@localhost yum.repos.d]# mysql_secure_installation #安全初始化脚本 添加密码 关闭匿名用户登陆 关闭超级用户远程登陆 删除测试数据库和访问 重新加载权限列表 [root@localhost yum.repos.d]# mysql -uroot -p #登陆数据库,输入密码,进入

2、数据库的查询

MariaDB [(none)]> SHOW DATABASES; #查询数据库里有什么库 MariaDB [(none)]> USE mysql; #使用mysql库 MariaDB [mysql]> SHOW tables; #查询库里有什么表格

MariaDB [mysql]> SELECT * FROM user; #查询user表的所有内容 MariaDB [mysql]> SELECT User,Host,Password FROM user; #查询user表里的User字段、Host字段和Password字段 MariaDB [mysql]> SELECT User,Host,Password FROM user Where User='root' AND Host='localhost'; # Where 跟查询的条件,条件要用‘’,查询user表里User=root且Host=localhost的User字段、Host字段和Password字段 MariaDB [mysql]> DESCRIBE user; #查询表的数据结构,也可写成DESC user

3、数据库的创建、插入

MariaDB [(none)]> CREATE DATABASE linux; #创建linux库 MariaDB [(none)]> USE linux; #使用linux库 MariaDB [linux]> SHOW tables; #查看linux库里有什么表格 MariaDB [linux]> CREATE TABLE yee( -> username varchar(6) not null, -> password varchar(50) not null); #linux库里创建yee表格,varchar表示可变长字符 MariaDB [linux]> DESC yee; #查询yee表的结构 MariaDB [linux]> INSERT INTO yee values ('tom',123); #yee表里插入内容,username为tom,password为123 MariaDB [linux]> SELECT * FROM yee; #查看yee表里的内容

4、数据库信息的修改 (1)库名的修改

[root@localhost yum.repos.d]# cd /var/lib/mysql/ #默认路径 [root@localhost mysql]# ls #可以查看到建立的库linux [root@localhost mysql]# mv linux/ westos #修改库名linux为westos [root@localhost mysql]# systemctl restart mariadb #重启数据库

但是,一般情况下,库的名字不建议修改,修改后可能会出错! (2)表名的修改

MariaDB [linux]> ALTER TABLE yee RENAME hahaha; #修改表的名字

(3)表字段的添加与删除

MariaDB [linux]> ALTER TABLE hahaha ADD age varchar(10); #添加表的字段,默认添加在最后 MariaDB [linux]> ALTER TABLE hahaha DROP age; #删除某个字段 MariaDB [linux]> ALTER TABLE hahaha ADD age varchar(10) AFTER username; #添加字段到某个位置,不能加到最前面,有错乱的可能

(4)表内容的修改与删除

MariaDB [linux]> UPDATE hahaha SET username='jerry' WHERE username='tom'; #修改表的内容 MariaDB [linux]> DELETE FROM hahaha WHERE username='jerry'; #删除表的内容

(5)表和库的删除

MariaDB [linux]> DROP TABLE hahaha; #删除表 MariaDB [linux]> DROP DATABASE linux; #删除库

5、网页模式管理数据库

[root@localhost mysql]# yum install php httpd -y #下载php和httpd [root@localhost mysql]# yum search php #搜索支持php的相关软件 [root@localhost mysql]# yum install php-mysql.x86_64 -y [root@localhost mysql]# systemctl start httpd #开启htpp服务 [root@localhost mysql]# systemctl stop firewalld [root@localhost mysql]# cd /var/www/html/ [root@localhost html]# ls phpMyAdmin-3.4.0-all-languages.tar.bz2 [root@localhost html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 #解压缩 [root@localhost html]# ls phpMyAdmin-3.4.0-all-languages phpMyAdmin-3.4.0-all-languages.tar.bz2 [root@localhost html]# rm -fr phpMyAdmin-3.4.0-all-languages.tar.bz2 #删除压缩包,节省空间 [root@localhost html]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin #重命名为mysqladmin [root@localhost html]# ls [root@localhost html]# cd mysqladmin/ [root@localhost mysqladmin]# cp config.sample.inc.php config.inc.php #复制生成config.inc.php文件

浏览器:172.25.254.167/mysqladmin,登陆进入网页模式,可以在网页模式对数据库进行管理 6、用户建立、授权和删除

MariaDB [(none)]> CREATE USER myself@localhost identified by '123'; #创建用户myself,by后跟密码,@‘localhost’只能在本机登陆;@‘%’可以远程登陆 MariaDB [(none)]> SHOW GRANTS FOR myself@localhost; #查看用户授权

MariaDB [(none)]> GRANT SELECT on linux.* to myself@localhost; #用户查看授权,myself用户登陆可以查看库、表

授权后测试,可以看到库,但不能进行修改、删除等操纵

更新、插入及删除授权 MariaDB [(none)]> GRANT UPDATE on linux.* to myself@localhost; #用户更新授权,myself用户在linux库里可以对表中内容进行修改,不能添加 MariaDB [(none)]> GRANT INSERT on linux.* to myself@localhost; #插入授权,授权后用户可插入新内容 MariaDB [(none)]> GRANT DELETE on linux.* to myself@localhost; #删除授权

撤销授权、删除用户

MariaDB [(none)]> FLUSH PRIVILEGES; #重载授权表 MariaDB [linux]> REVOKE UPDATE on linux.* from myself@localhost; #撤销用户更新授权 MariaDB [linux]> DROP USER myself@localhost; #删除用户

7、数据库密码恢复

[root@localhost Desktop]# systemctl stop mariadb #关闭服务 [root@localhost Desktop]# mysqld_safe --skip-grant-tables & #跳过授权表,将进程打入后台 [root@localhost Desktop]# mysql #直接进入mysql环境 MariaDB [mysql]> SELECT * FROM user; #查看user表 MariaDB [mysql]> UPDATE mysql.user set Password=password('1234') WHERE User='root'; #修改root密码为1234,password('1234')表示使用password加密,否则密码会是明文形式保存 MariaDB [mysql]> SELECT * FROM user; #查看密码是否修改 MariaDB [mysql]> quit #退出 [root@localhost Desktop]# fg #将进程调回前台 [root@localhost Desktop]# killall -9 mysqld_safe #结束进程 [root@localhost Desktop]# ps aux | grep mysql [root@localhost Desktop]# kill -9 pid #结束其他进程 [root@localhost Desktop]# systemctl start mariadb #打开服务 [root@localhost Desktop]# mysql -uroot -p1234 #密码修改成功

‘ SELECT * FROM user; ’查看,加密字符不同,表示密码已经修改

数据库密码修改 [root@localhost Desktop]# mysql -uroot -p1234 -e "SHOW DATABASES;" #-e 可以直接执行命令 [root@localhost Desktop]# mysqladmin -uroot -p1234 password '123' #修改超级用户密码 [root@localhost Desktop]# mysql -uroot -p123 #测试,登陆成功

8、数据库的备份

[root@localhost Desktop]# mysqldump -uroot -p123 --all-database #备份所有库 [root@localhost Desktop]# mysqldump -uroot -p123 --all-database --no-data #备份框架,不备份数据

备份及恢复方法一;

[root@localhost Desktop]# mysqldump -uroot -p123 linux > /mnt/linux.sql #备份linux库,保存到/mnt/linux.sql [root@localhost Desktop]# mysql -uroot -p123 -e "show databases;" [root@localhost Desktop]# mysql -uroot -p123 -e "drop database linux;" #删除linux库 [root@localhost Desktop]# ls /mnt #备份成功 [root@localhost Desktop]# mysql -uroot -p123 linux < /mnt/linux.sql #恢复时显示失败,因为linux库已经不存在了 ERROR 1049 (42000): Unknown database 'linux' [root@localhost Desktop]# vim /mnt/linux.sql #编辑文件创建库,使用该库 CREATE DATABASE linux; USE linux; [root@localhost Desktop]# mysql -uroot -p123 < /mnt/linux.sql #将备份文件导入库

备份及恢复方法二:

[root@localhost Desktop]# mysql -uroot -p123 -e"CREATE DATABASE linux;" #先创建linux库 [root@localhost Desktop]# mysql -uroot -p123 linux< /mnt/linux.sql #将备份文件导入linux库
转载请注明原文地址: https://www.6miu.com/read-1600308.html

最新回复(0)