环境:reset一台虚拟机;配置好网络,并搭建好yum源
背景:
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,后来被甲骨文公司收购后,不再是开源软件。
MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB;MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。
1.安装
yum search mariadb
yum install mariadb-server -y
systemctl start mariadb
2.安全初始化
(1)数据库起始状态设定信息是不安全的,需要用mysql_secure_installation做以下设定:
Enter current password for root (enter for none): //输入root用户密码,初次运行,直接回车
Set root password? [Y/n] //设置root登陆密码?输入y回车或直接回车
Remove anonymous users? [Y/n] //删除匿名用户?
Disallow root login remotely? [Y/n] //不允许root远程登陆?
Remove test database and access to it? [Y/n]//删除test数据库?
Reload privilege tables now? [Y/n] //直接加载权限表?
(2)默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口
netstat -antlupe | grep mysql //查看开放的端口
vim /etc/my.cnf //修改配置文件,关闭网络接口
skip-networking=1 //在 [mysqld] 里面前添加
systemctl restart mariadb //重启后生效
(3)设置完成之后便可用mysql -uroot -p命令输入密码登陆数据库
3.数据库管理
(1)查询:
SHOW DATABASES; //查看有哪些库
USE DATABASESNAME; //进入库
SHOW TABLES; //查看库中有那些表
SELECT 属性(哪一列) FROM 表名(从那个表中查询) WHERE 关系(选出符合关系的)
//具体SELECT查询语法这里就不过多介绍了,详细了解需要深入学习数据库课程
例:
SELECT * FROM user //查询user表中的所有信息
SELECT Host,User FROM user WHERE User='root';
//从user表中选出Host,User列,并且满足User='root'
(2)建立:
CREATE DATABASE westos; //创建westos库
CREATE TABLE userlist ( , );
//在库中创建表userlist,()内写入表头信息,多个表头用‘,’分隔开。
//建立表时必须要有表头信息
DESC userlist; //查看表的结构
- 注:数据类型
varchar //变长–varchar(5):1到5个都可以
char //定长–char(5):必须是五个,不够用空格补
INSERT INTO userlist VALUES ('lee','123'); //添加信息--元组
//括号内的信息必须与建立的表头对应,之间用‘,’分隔开
//不可为空的必须填,可以为空的不填时必须留下位置
SELECT * FROM userlist; //SELECT语句查看建立的信息
(3)更改:
ALTER TABLE userlist RENAME user_list; //改表名
ALTER TABLE userlist ADD age varchar(5); //不指定位置,默认在最后
ALTER TABLE userlist ADD age varchar(5) AFTER username;//在username后面添加age
UPDATE userlist SET age='12'; //不指定表示所有行---危险动作!!!
UPDATE userlist SET age='15' WHERE username='lee'; //对指定的行
ALTER TABLE userlist DROP age; //删除age列
(4)删除:元组,表,库
DELETE FROM userlist WHERE username='lee'; //删除lee行
DELETE FROM userlist WHERE username='lee1' or username='lee2'; //删除username=lee1或lee2的行
DELETE FROM userlist WHERE username='lee3' AND age='12'; //删除username=lee3并且age=12的行
DROP TABLE userlist; //删除userlist表
DROP DATABASE westos; //删除westos库
(5)用户授权
下载客户端:
yum whatprovides */mysql
yum install mariadb-5.5.52-1.el7.x86_64 -y
服务器端: 开启网络接口,关闭火墙
用户的建立与删除:
% | 可以远程登陆 |
---|---|
localhost | 只能本地登陆 |
CREATE USER westos@'%' identified by 'westos'; //创建用户,identified指定密码
CREATE USER westos1@'localhost' identified by 'westos';
//注:westos@'%' 与 westos@'localhost' 是不同的!!!
SELECT Host,User FROM mysql.user; //查看用户信息
DROP USER westos@'localhost'; //删除用户
测试:
授权: ----以本地用户为例
SHOW GRANTS FOR westos1@'localhost'; //查看westos@localhost的权限
GRANT SELECT,INSERT,DELETE on westos.* TO westos1@'localhost'; //给本地用户权限
查 写 删
REVOKE INSERT,DELETE ON westos.* FROM westos@'localhost'; //删除用户权限
FLUSH PRIVILEGES; //刷新:如果改变权限后,没有变可以手动刷新
注:当用户拥有相应的权力,便可执行相应的权力;
4.库的备份与恢复
备份:
mysqldump -uroot -p westos >/mnt/westos.sql
恢复:
mysql -uroot -p westos < /mnt/westos.sql
//若westos库还在时,可直接恢复数据;
//若westos库已被删除,直接恢复时报错,不存在westos,恢复时找不到
若库已被删除,可用如下两种方法恢复:先建立库,再恢复数据。
- 方法一:
mysql -uroot -p -e "CREATE DATABASE westos;" //建立出westos库
mysql -uroot -p westos < /mnt/westos.sql //恢复
- 方法二:
vim /mnt/westos.sql //编辑需要恢复的库
CREATE DATABASE westos; //在开头写入,恢复时读取文件就会创建westos库
USE westos;
mysql -uroot -p < /mnt/westos.sql //恢复
5.修改密码:
(1)知道密码时:
mysqladmin -uroot -predhat password lee
-p加原始密码 新密码
(2)忘记密码时:
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql //直接登陆,然后修改密码
update mysql.user set Password=password('westos') WHERE User='root';
quit
ps aux | grep mysql 查看mysql的进程,并结束
killall -9 mysqld_safe
kill -9 id号
systemctl start mariadb //打开后用新密码登陆
6.安装phpmyadmin 数据库图形管理
下载软件,开启服务
yum install httpd php php-mysql -y //下载相关软件
systemctl start httpd //开启httpd
获取数据库图形管理的软件包,解压后上传到apache的默认发布目录上
phpMyAdmin-3.4.0-all-languages.tar.bz2
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
rm -fr phpMyAdmin-3.4.0-all-languages.tar.bz2
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin---mv /var/www/html/
配置相关文件
cd /var/www/html/mysqladmin
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = '...' //...内容查看Documentation.txt文件
注:先看README文件,里面指需要看的下一个文件Documentation.txt,此文件中有具体的做法。
测试:
打开浏览器,输入:http://172.25.60.1/mysqladmin, 输入用户名和密码就可以登陆数据库。登陆成功后就可以图形化管理数据库。此时我们的数据库图形化管理软件就可以使用了。