######数据库的安装
mariadb数据库,mysql的一个分支
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysql ##查看数据库,此时不需要密码可以直接登陆数据库
netstat -antlupe | grep mysql ##查看数据库对外访问端口
vim /etc/my.cnf
skip-networking=1 ##关闭数据库对外访问接口
systemctl restart mariadb
######数据库初始化
使用命令mysql_secure_installation对数据库进行初始化设置,第一个问题回车,第二个设定密码,其他全点击y。然后登陆数据库需要数输入密码
mysql -uroot -p ##查看数据库
######数据库的查询
SHOW DATABASES; ##查看数据库
USE 库名称; ##进入数据库
SHOW TABLES; ##查看表
DESC 表名称; ##查看表结构
FLUSH PRIVILEGES; ##刷新数据库信息
SELECT * FROM 表名称; ##查看表所有字段
QUIT ##退出
SELECT 字段1,字段2,... FROM 表名称 WHERE 字段=‘字段值’;
例:SELECT Host,User,Select_priv FROM user WHERE Host='localhost'; ##查看user中Host为localhost的Host,User,Select_priv三个字段
######数据库管理
1)建立
SHOW DATABASES ##列出库
CREATE DATABASE hello; ##建立库
USE hello; ##进入库
CREATE TABLE linux( ##建立表
username varchar(20) not null,
password varchar(16) not null
); ##此命令是一行命令,换行写方便排错
DESC linux; ##查看表结构
INSERT INTO linux values ('lol','123'); ##插入数据到linux表中
SELECT * FROM linux; ##查询所有字段在linux表中
SELECT username,password FROM linux; ##查询指定字段在linux表中
2)更改
UPDATE linux SET password=234 WHERE username='lol'; ##修改linux表中username为lol的password为234
ALTER TABLE linux ADD class varchar(20); ##在linux表中添加class字段,默认加在最后面
ALTER TABLE linux ADD age varchar(20) AFTER password; ##指定加在password后面
ALTER TABLE linux DROP class; ##删除字段
ALTER TABLE linux RENAME redhat; ##更改表名称
3)删除
DELETE FROM redhat WHERE username='th'; ##删除表中指定字段的内容
DROP TABLE redhat; ##删除表
DROP DATABASE westos; ##删除数据库
4)用户授权
创建用户时使用@%时被授权用户在任意客户端都可以登陆数据库 ,@localhost只有在数据库所在主机登陆数据库
CREATE USER lol@localhost identified by '123'; ##创建用户并设定密码
GRANT SELECT,INSERT ON westos.* TO lol@localhost; ##给lol用户访问与插入权限
SHOW GRANTS FOR lol@localhost; ##查看lol用户权限
REVOKE INSERT ON westos.* FROM lol@localhost; ##取消lol用户权限
DROP USER lol@localhost; ##删除lol用户
FLUSH PRIVILEGES; ##刷新
测试:
用被授权用户登陆和数据库
可以查看到westos数据库,并且可以进入记忆插入数据
5)数据库的备份
mysqldump -uroot -p123 redhat > /mnt/redhat.sql
mysqldump -uroot -p123 redhat --no-data ##只备份表格不备份数据
mysqldump -uroot -p123 --all-database ##备份所有数据库
mysqldump -uroot -p123 --all-database --no-data ##只备份所有数据库框架不备份数据
当数据库被删除时
恢复方式1:
使用命令建立数据库直接恢复
mysql -uroot -p123 -e "CREATE DATABASE redhat;"
mysql -uroot -p123 redhat < /mnt/redhat.sql
恢复方式2:
先在配置文件中写好建立westos再恢复
vim /mnt/redhat.sql
21 CREATE DATABASE redhat;
22 USE redhat;
mysql -uroot -p123 < /mnt/redhat.sql
6)当超级用户密码忘记时:
systemctl stop mariadb.service ##关闭mariadb服务
mysqld_safe --skip-grant-tables & ##开启数据库安全模式
mysql ##此时可以不用密码直接登陆数据库
update mysql.user set Password=password('westos') where User ='root';
##重置密码,password=password('westos')加密密码,password=westos修改的密码为明文
ps aux | grep mysql ##查看mysql所有进程
kill -9 mysql的所有进程id ##结束mysql所有进程
systemctl restart mariadb ##重启数据库
当用户记得超级用户密码时:
mysqladmin -uroot -p原密码 password 新密码
######网页版数据库
1)安装httpd服务,php相关软件
yum install httpd -y ##安装httpd服务
yum install php -y
yum install php-mysql.x86_64 -y
2)在网上下载phpMyAdmin数据库图形管理插件,解压下载的软件,并将其重命名为mysqladmin移到httpd的默认发布目录/var/www/html/目录里(注意所有插件需要根据本机安装的mariadb版本对应)
tar zxf phpMyAdmin-4.0.10.20-all-languages.tar.gz
mv phpMyAdmin-4.0.10.20-all-languages /var/www/html/mysqladmin
3)进入mysqladmin目录里并执行cp config.sample.inc.php config.inc.php命令。然后关闭火墙重启httpd服务
cd /var/www/html/mysqladmin/
cp config.sample.inc.php config.inc.php
systemctl restart httpd
systemctl stop firewalld.service
4)此时进入浏览器查看会出现报错,缺少php-mbstring插件(需要和php版本一致)
5)去网上下载php-mbstring插件并安装,再次重启httpd服务
rpm -ivh php-mbstring-5.4.16-21.el7.x86_64.rpm
systemctl restart httpd
6)再次进入浏览器输入ip/mysqladmin查看
7)将语言改为简体中文登陆即可简单方便的使用网页管理数据库