Mysql数据库管理,mysql数据库
Mysql数据库管理
一.mariadb是mysql的分支产品,完全兼容于mysql
yum install mariadb-server ##安装mariadb
systemctl start mariadb ##开启服务
systemctl enable mariadb ##开机启动服务
二.安全初始化
安装后是不需要密码就可以进入数据库的,需要安全初始化
netstat -antlpue | grep mysql ##查看服务端口状态
vim /etc/my.cnf ##配置文件
-->> 6行:skip-networking=1
systemctl restart mariadb ##重新开启mariadb服务
mysql_secure_installation ##第一次安装mysql以后通过这条命令可以对mysql进行设置
实验:
vim /etc/my.cnf 编辑配置文件写入第6行内容,跳过网络
netstat -antlpue | grep mysql ##查看服务端口
systemctl restart mariadb ##重新开启mariadb服务
mysql_secure_installation ##通过这条命令可以对mysql进行设置,修改root进入mysql密码,这里设置123;接下来询问是否移除匿名用户使用数据库;询问是否允许root用户远程登陆数据库;默认测试数据库test任何人都可以进入,是否移除;最后一个加载使设置生效。
三.登陆
操作完上边的步骤就可以安全登陆数据库了。
mysql -uroot -p (或者mysql -uroot -p123) 登陆
1.mysql数据库基本指令(指令大小写都可以,指令后要加英文状态下的分号才能执行)
SHOW DATABASES; ##显示数据库
USE mysql; ##进入数据库
SHOW TABLES; ##显示数据库中的表
-->>DESC user; ##查询user表中的数据结构
SELECT Host,User,Password FROM user; ##在表user中搜索Host,User,Password信息
SELECT Host,User,Password FROM user WHERE="::1"; 在表user中搜索Host,User,Password信息,并且Host为"::1"的数据
实验:
show databases; ##显示mysql中所有数据库
use mysql; ##进入到mysql数据库中
show tables; ##显示数据库mysql中的表
desc user; ##查询mysql数据库中表中的user的数据结构
select Host,User,Password from user; ##在user这个表中查找Host,User,Password的信息
select Host,User,Password from user where Host='::1'; ##在user这个表中查找Host,User,Password的信息并且Host为“::1”的信息
2.数据库的建立.
CREATE DATABASE westos; ##新建数据库westos
use westos; ##使用westos数据库(进入westos数据库)
CREATE table linux( ##新建linux表并写入内容
->username varchar(15) not null,
->password varchar(15) not null
->);
SHOW TABLES; ##显示westos中的表
DESC linux; ##查看linux表
INSERT INTO linux values ('username1','passwd1'); ##添加最底层数据
DESC linux; ##查看linux数据结构
SELECT * FROM linux; ##查找linux中的*信息
实验:
create database westos; ##新建westos数据库
use westos; ## 进入westos数据库,新建linux表并写入内容。显示westos中的所有表并查看表linux的数据结构
分别写入’password‘,‘username’,‘class’到linux表中,select * from linux 查看表中所有数据
insert into linux values('123','lee','1');
insert into linux values('234','tom','2');
insert into linux values('345','pop','3');
select * from linux;
3.信息的更改
SHOW TABLES;
ALTER TABLE linux RENAME redhat; ##更改linux表名位redhat
ALTER TABLE redhat RENAME linux; ##更改redhat表名位linux
SELECT * FROM linux;
ALTER TABLE linux ADD sex varchar(4); ##添加sex字段到linux表中
ALTER TABLE linux DROP sex ##删除sex字段
ALTER TABLE linux ADD sex VARCHAR(5) AFTER username ##在username字段后添加字段sex
UPDATE linux SET password=password('passwd2') WHERE username=’user1’; ##更新linux表中user1 的密码为password2,不明文,password=‘passwd2’则明文
insert into linux values ('user1','passwd1'); ##在linux表中插入值为username = user1,password = password1
DELETE from linux WHERE username='lee'; ##删除linux表中lee的所以内容
DELETE FROM redhat WHERE username='lee' ADD password='123'; ##如果重名字再添加约束条件删除用户lee
DROP TABLE redhat; ##删除表redhat
DROP DATABASE westos; ##删除数据库westos
实验:
show tables;
alter table linux rename redhat; ##更改linux表名位redhat
show tables;
alter table redhat rename linux; ##更改redhat表名位linux
show tables;
alter table linux add sex varchar(4); ##将sex这个字端添加到linux表中
alter table linux drop sex; ##从linux表中删除sex这个字段并,将sex添加到password后边;
insert into linux values ('789','m','ha','4'); ##添加linux表中最底层数据,要和字段相匹配,否则报错
delete from linux where username='lee' and password='146'; ##名字冲突再添加约束条件
新建redhat表,将其删除,
CREATE TABLE redhat(
-> username varchar(4) not null,
-> password varchar(5) not null
-> );
drop table redhat;
新建data数据库,将其删除;
create database data;
drop database data;
update linux set password=password('321') where username='tom'; ##修改tom的密码为321,非明文
4.数据库访问的授权
grant select on *.* to user1@localhost identified by 'passwd1';
##授权user1 密码为passwd1 并且只能在本地查询(select)数据库的所以内容
grant all on mysql.* to user2@'%' identified by 'passwd2';
## 授权user2 密码为passwd2 可以从远程任意(%)主机登录mysql 并且可以对mysql数据库任意(all)操作
CREATE USER lee@‘localhost’ identified by 'westos';
## 授权lee用户本地登陆数据库密码为westos并且可以对mysql数据库任意(all)操作;
GRABT SELECT,INSERT on westos.* TO lee@localhost;
##授权lee用户本地登陆数据库,密码westos;对数据库可执行嗯select查看,和insert增加底层数据的权限权限
SHOW GRANTS FOR lee@localhost;
##显示lee对数据被授权的权限
REVOKE INSERT ON westos.* FROM lee@localhost;
##取消lee对westos数据库的insert权限
实验:grant select on *.* to lee@localhost identified by '123'; ##授权user1 密码为passwd1 并且只能在本地查询(select)数据库的所以内容
show grants for lee@localhost; ##查看lee被授权的信息
REVOKE INSERT ON *.* FROM lee@localhost; ##取消lee对所有数据库登陆的权限
5.超级用户忘记密码
实验:
6.数据库的备份
mysqldump -uroot -p[密码] 【数据库】> /mnt/westos.sql 备份数据库到/mnt下,文件名字随意良好的习惯还是用sql结尾
mysqldump -uroot -p123 westos --no-data ##备份数据库框架,不要里边的数据
mysqldump -uroot -p123 --all-database ##备份所有的数据
mysqldump -uroot -p123 --all-database --no-data ##备份数据库的框架去掉数据
mysql -uroot -p123 -e "DROP DATABASE westos;" ##不用交互式删除数据库westos
恢复方式1:
mysql -uroot -p123 -e "CREATE DATABASE westos;" ##创建westos数据库
mysql -uroot -p123 westos < /mnt/westos.sql ##数据恢复
恢复方式2:
vim /mnt/westos.sql
21行:CREATE DATABASE westos;
22行:USE westos;
mysql -uroot -p123 < /mnt/westos.sql
实验:方法一
备份成功
删除westos数据库
mysql -uroot -pwestos -e "create database westos"; ##非交互创建数据库westos
mysql -uroot -pwestos westos < /tmp/westos.mysql ##导入wetsos数据
方法2:实验前删除恢复的数据库westos
mysql -uroot -pwestos -e "drop database westos"; ##非交互删除westos数据库
mysql -uroot -pwestos -e "show databases;" ##显示数据库确保删除
vim /tmp/westos.mysql 编辑备份文件
-->>CREATE DATABASE westos;
USE westos;
mysql -uroot -pwestos < /tmp/westos.mysql ##导入数据库并查看
7.安装phpmyadmin数据库图形管理
下载phpMyAdmin-3.4.0-all-languages.tar.bz2
yum install php php-mysql -y ##自动安装
systemctl restart httpd ##重启http服务
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 ##解压到----> /var/www/html
mv phpMyAdmin-3.4.0-all-languages mysqladmin
cd mysqladmin
cp config.sample.inc.php config.inc.php
测试:http://ip/mysqladmin
8 .论坛搭建
下载论坛模板Discuz_X3.2_SC_UTF8.zip解压到/mnt
把解压出来的upload目录 复制到/var/www/html下
给/upload/* 777权限, selinux=disabled
开启httpd服务
浏览器查看
浏览器查看
这种基于linux+apache+mysql/mariadb/+perl/php/python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但因为常被放在一起,拥有了越来越高的兼容度,共同组成了一个强大的web应用平台,成为lamp架构
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。