搭建实验环境
安装mariadb数据库的服务软件
(1)寻找这个软件
(2)安装并且开启mariadb服务
(3)直接输入mysql管理
(4)安全初始化(修改登陆密码及权限)
(5)登陆数据库的技巧
mysql -uroot -pwestos 这样直接裸露密码很不安全
mysql -uroot -p 利用刚才设置的密码进行登陆数据库
(6)安全设置
默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口
netstat -antlupe | grep mysql (查看数据库的网络接口是否开启)
vim /etc/my.cnf
关闭网络接口(开着很不安全,别人可以通过网络接口看到我的数据库)
skip-networking=1(关闭网络接口3306(跳过网络接口))
systemctl restart mariadb
netstat -antlupe | grep mysql (查看数据库的网络接口是否已经关闭)
数据库的管理
(1)数据库的查询
mysql -uroot -p 先进入数据库
SHOW DATABASES; 查看都有哪些数据库
USE DATABASENAME; 进入指定的一个数据库
SHOW TABLES; 查看该数据库中有哪些表格
SELECT * FROM TABLENAME; 查看该表格中的所有内容
SELECT Host User (列:字段条件) FROM user(表格名字) WHERE User='root'(行条件)
(2)数据库的建立
mysql -uroot -p ##先进入数据库
SHOW DATABASES; ##列出存在的库
CREATE DATABASE westos(名字); ##建立新的库
USE westos; ##进入新建立的这个库
CREATE TABLE linux ( ##在这个库里面建立表
-> username varchar(50字符长度) not null,用户登陆的时候名字和密码不能为空
-> password varchar(50字符长度) not null
-> );以这个结尾
DESC linux; ##查看新表的结构
INSERT INTO linux(表格名字) VALUES ('lee','123');插入的信息符号必须是英文字符##插入数据到linux表中
SELECT * FROM linux; ##查询所有字段在linux表中
SELECT username,password from linux; ##查询指定字段在linux表中
(3)数据库的更改
数据库的名字不能随便更改(涉及到数据库之间的关连查找)
其实数据库也是以目录下文件的形式存在的
在目录下,也可以直接改数据库的名字,也能成功,但是不安全
UPDATE linux SET password=password('lee') where username='lee';更改表格里面的信息
ALTER TABLE linux ADD class varchar(20);在表格里面添加列
ALTER TABLE linux DROP CLASS;在表格里面删除这个列
ALTER TABLE linux ADD age varchar(20) AFTER password;添加列的时候指定位置(不能在最前面,没有参照物的话会造成数据丢失)
ALTER TABLE linux RENAME redhat;给数据库更改名字
(4)数据库的删除(数据库、表格、表格里面的内容)
先备份再删除
DELETE FROM userlist WHERE username='lee';删除userlist这个表格里面名字是lee的这一行
DELETE FROM userlist WHERE username=‘lee’ or username='lee1‘;删除两行
DELETE FROM userlist WHERE username='lee' AND age='12';当遇到名字一样的时候用
DROP TABLE userlist;删除表格
DROP DATABASE westos;删除数据库
(5)用户授权(不能所有的都在本地root下面)
vim /etc/my.cnf
#skip-networking=1(开启网络接口3306)
systemctl restart mariadb
netstat -antlupe | grep mysql (查看数据库的网络接口是否已经开启)
关闭火墙
(6)数据库的备份
mysqldump -uroot -pwestos westos > /mnt/wesots.sql(完全备份westos这个库)
mysqldump -uroot -pwestos westos --no-data(备份westos这个库的表格形式,不要数据)
mysqldump -uroot -pwestos --all-database(完全备份所有的库)
mysqldump -uroot -pwestos --all-database --no-data(备份所有的库不要数据)
恢复方式
mysql -uroot -pwestos -e "CREATE DATABASE westos";先创建westos这个库
mysql -uroot -pwestos westos < /mnt/westos.sql;再将刚才备份的数据库还原回去
数据库的管理密码问题
(1)知道数据库的密码的时候,直接改:
mysqladmin -uroot -pwestos password lee
(2)当超级用户密码忘记时:
systemctl stop mariadb关闭数据库服务
mysqld_safe --skip-grant-tables & 将安全检测进程打入后台
mysql 登陆数据库
update mysql.user set Password=password('westos') where User='root';改数据库的密码
如果不结束那些进程的话,直接重启,mysql可以登陆,设置的密码就没用
结束进程
fg看被打入后台的进程
killall -9 mysqld_safe
ps aux | grep mysql
kill -9 mysql的所有进程id
systemctl start mariadb
mysql -uroot -pwestos 可以登陆数据库
mysql 不能登陆数据库
安装phpadmin数据库图形管理
从真机上下载phpMyAdmin-3.4.0-all-languages.bz2