1.安装
yum search mariadb ##查找数据库安装包
yum install mariadb-server.x86_64 -y ##安装数据库服务
systemctl start mariadb ##重启服务
systemctl enable mariadb ##使开机自启
示图:查找数据库安装包
2.安全初始化
默认情况下,数据库的网络接口是打开状态。
为保证安全,需要关闭此接口。
(1)关闭接口
vim /etc/my.cnf ##主配置文件
6 skip-networking=1 ##设置检测时略过mysql,使监听端口无法监测到mysql的端口
systemctl restart mariadb ##重启服务
netstat -antlpue | grep mysql ##监听端口,无法监测到mysql端口
示图:监听数据库端口3306
示图:配置文件更改
(2)安全初始化
mysql_secure_installation ##安全初始化过程,设置mysql登陆
mysql -uroot -p ##登陆数据库,回车键,输入密码
设置mysql登陆过程:
mysql_secure_installation ##设置mysql登陆
Enter current password for root (enter for none): ##是否为root设置登陆密码
Set root password? [Y/n] y ##设置登陆密码
New password:
Re-enter new password:
Password updated successfully!
Remove anonymous users? [Y/n] y ##禁止匿名用户登陆
... Success!
Disallow root login remotely? [Y/n] y ## ##禁止远程登陆
... Success!
Remove test database and access to it? [Y/n] y ##禁止使用并进行数据测试
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] y ##更新数据库
... Success!
示图:用户密码登陆成功
3.mysql配置文件
/etc/my.cnf ##主配置文件
/etc/my.cnf.d/server.cnf ##子配置文件(内容为空)
4.mysql使用命令
mysql; ##无密码登陆数据库
mysql -uroot -p; ##root用户登陆数据库
use mysql; ##进入mysql数据库
show databases; ##显示databases中所有的库,任何命令必须以“;”结尾
show tables; ##显示当前数据库的所有表
select * from user; ##显示所有字段的数据(字段指列)
select Host,User from user; ##显示user表中Host和User字段的数据
select Host,User from user where Host='::1'; ##显示user表中Host='::1'的Host和User字段的数据
desc user; ##显示当前数据库的所有字段,查看user表的数据结构
quit; ##退出数据库
示图:显示databases中所有的库
示图:显示数据库的所有表
示图:显示user表中Host、User和Password字段的数据
示图:显示user表中Host=’::1’的Host和User字段的数据
示图:查看user表的数据结构
5.数据库的管理
(1)创建数据库
MariaDB [(none)]> create database westos; ##创建westos数据库
MariaDB [(none)]> use westos; ##使用westos数据库
MariaDB [westos]>create table linux( ##在westos数据库创建表,字段包括username,password
-> username varchar(15) not null, ##指定username的字符长度不可超过15个,字符类型为varchar,并且不许为空
-> password varchar(15) not null ##同上
-> );
具体实验步骤如下:
<1>创建westos数据库,并查看新建的westos数据库
<2>使用数据库,列表显示为空
<3>在数据库westos中新建linux表,字段分别为username、password
<4>查看linux表的数据结构
(2)插入
insert into linux values ('hao','123'); ##在linux表中插入值为username = hao,password = 123
<5>在linux列表中插入用户hao,hao1,密码分别为123,456
(3)更改
update linux set password=password('111') where username='hao'; ##更新linux表中hao的密码为111
alter table linux rename messages; ##表linux重命名为messages
altertable table linux add class varchar(10); ##添加class字段到linux表中
altertable table linux add age varchar(10) after password; ##在password字段后添加age字段到linux表中
alter table linux drop age; ##删除linux表中的age字段
<6>更新linux表中hao的密码为111
<7>在linux表中username字段后添加age字段
<8>删除linux中的age字段
<9>将linux表重命名为messages
(4)删除
delete from linux where username='lee1' and password='789'; ##删除linux表中 username='lee1'和 password='789'对应表项
delete from linux; ##删除linux表中所有字段内(表格依旧存在)
drop table linux; ##删除linux表
drop database westos; ##删除westos数据库
<10>删除表格中username=hao
<11>删除linux表格中所有字段
<12>删除linux表
<13>删除westos数据库
(5)用户授权
create user lee@localhost identified by 'lee'; ##建立本地用户,密码lee,@ip远程用户
grant select on *.* to lee@localhost; ##针对*.*授权用户select功能(*.*所有库所有表,westos.linux表示westos数据库的linux表格)
grant select,insert on westos.* to lee@localhost; ##针对westos数据库的所有表,授权用户select和insert功能(*.*所有库所有表)
show grants for lee@localhost; ##查看用户lee的授权
revoke create on *.* FROM lee@localhost; ##撤销用户创建数据库的授权
实例:
<1>建立本地用户
mysql -ulee -p ##lee用户登陆数据库
CREATE USER lee@localhost identified by 'lee'; ##建立本地用户,密码lee,@ip远程用户
SELECT User FROM mysql.user; ##查看建立的用户
SELECT User,Host FROM mysql.user; ##查看建立的用户及主机
示图:
<2>针对所有库所有表授权用户select功能
GRANT CREATE ON *.* TO lee@localhost; ##授权用户create功能
SHOW GRANTS FOR lee@localhost; ##查看用户lee的授权
CREATE DATABASE westos; ##用户可建立数据库
<3>授权用户create功能
GRANT CREATE ON *.* TO lee@localhost; ##授权用户create功能
SHOW GRANTS FOR lee@localhost; ##查看用户lee的授权
CREATE DATABASE westos; ##用户可建立数据库
<4>撤销用户create权利
REVOKE CREATE ON *.* FROM lee@localhost; ##撤销用户创建数据库的授权
SHOW GRANTS FOR lee@localhost; ##查看本地用户lee的权力
6.数据库备份
mysqldump -uroot -p123 westos > /mnt/westos.sql ##数据库westos备份到/mnt/westos.sql
mysqldump -uroot -p123 westos --no-data ##备份westos数据库(有框架无数据)
mysqldump -uroot -p123 --all-database ##备份所有数据库
mysqldump -uroot -p123 --all-database --no-data ##备份所有数据库(有框架无数据)
恢复方式1
mysql -uroot -p123 -e "CREATE DATABASE westos;" ##非交互界面
mysql -uroot -p123 westos < /mnt/westos.sql ##备份恢复
恢复方式2
vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;
mysql -uroot -p123 < /mnt/westos.sql
(1)新建数据库westos及表linux
<1>显示新建数据库westos
<2>新建表linux,并添加字段
(2)备份
mysqldump -uroot -p123 westos > /mnt/westos.sql ##数据库westos备份到/mnt/westos.sql
(3)删除westos数据库
(4)恢复
选择恢复方式2
示图:vim /mnt/westos.sql
示图:导入备份数据库
示图:数据库恢复
7.数据库密码更改
(1)更改普通用户密码
UPDATE mysql.user set Password='hello' WHERE User='lee'; ##修改密码(显示明文)
UPDATE mysql.user set Password=password('hello') WHERE User='lee'; ##修改密码(显示密文)
示图:更改用户密码(显示明文)
示图:更改用户密码(显示密文)
(2)更改超级用户密码
[root@apache ~]# systemctl stop mariadb ##关闭mariadb服务
[root@apache ~]# mysqld_safe --skip-grant-tables & ##开启mysql登陆接口并忽略授权表,&为打入后台,也可用‘Ctrl+Z‘
[root@apache ~]# mysql ##不需要密码直接登陆
update mysql.user set Password=password('123') where User='root'; ##更新,更改密码
exit
[root@apache ~]# ps aux | grep mysql ##过滤mysql的所有进程并用kill -9结束这些进程
[root@apache ~]# systemctl start mariadb
<1>示图:开启mysql登陆接口并忽略授权表
<2>示图:直接登陆,更改密码
<3>示图:过滤mysql的所有进程并用kill -9结束这些进程
<4>超级用户使用新密码123成功登陆
8.安装phpMyAdmin数据库图形管理
<1>下载phpMyAdmin-3.4.0-all-language到/var/www/html并解压、重命名
<2>修改文件
[root@localhost mysqladmin]# cp config.sample.inc.php config.inc.php
[root@localhost mysqladmin]# vim config.inc.php
17 $cfg['blowfish_secret'] = 'ba17clec07d65003'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
示图:修改文件
<3>安装php-mysql插件
[root@localhost mysqladmin]# yum install php-mysql.x86_64
示图1:查找php-mysql插件
示图2:查看php支持的服务mysql
<4>重启服务
[root@localhost mysqladmin]# systemctl restart httpd
测试:
1、下载phpMyAdmin-3.4.0-all-language
2、yum install php-mysql.x86_64 -y
3、systemctl restart httpd
4、cp phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html
5、tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
6、mv phpMyAdmin-3.4.0-all-languages mysqladmin
7、cd mysqladmin
8、cp config.sample.inc.php config.inc.php
9、vim config.inc.php
$cfg['blowfish_secret']='ba17clec07d65003'