您的位置:首页 > 数据库 > MariaDB

Linux系统中的mariadb—数据库服务器的搭建与管理

2019-08-15 07:15 1076 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_42996595/article/details/98846225

Linux系统中的mariadb—数据库服务器的搭建与管理

搭建Mariadb数据库

1.下载Mariadb:

yum install mariadb-server -y

systemctl start mariadb

2.关闭对外的默认的对外端口3306:

vim /etc/my.cnf:
skip-networking=1
systemctl restart mariadb

3.进行安全初始化
虽然下载并启动服务后,就可以使用数据库了。但是,此时并没有设置密码等安全保障措施,因此我们还要对其进行安全初始化:

mysql_secure_installation

上述操作过程中除了设置密码时需要输入,其余的询问提示只需回车即可。

使用用户名,密码验证登陆:

mysql -uroot -predhat
mysql -uroot -p

第二种方式输入密码不会回显,更加安全

注意:
上面的命令参数-u和用户名,-p和密码之间无空格

下图为例:



数据库数据管理

管理系统,最基本的就是4种操作:增,删,改,查

查看:

查看全部数据库:SHOW DATABASES
查看数据库内容前,先进入数据库:USE mysql
查看数据库中的表:SHOW TABLES
查看表的结构:DESC user(表名)
查看表的内容:SELECT * FROM user / SELECT Host,Password FROM user
(要查看的表名)
增加条件(附加条件的搜索查看):SELECT Host,User FROM user WHERE Host=‘localhost’
查看Host为localhost的那一条记录的相应的Host,User的信息

表的结构:如:姓名 ,密码等

数据库语法语句大写,以便于与其他字段相区分,且以分号作为语句结尾

不在数据库内也可查看数据:

mysql -uroot -predhat -e “SHOW DATABASES”

下图为例:





增加:

1.CREATE DATABASE bank;
(要建立的数据库名)
2.SHOW TABLES; 此时库内无表,为空(要先USE bank)
3.CREATE TABLE linux(建立表名)
4.DESC linux; 表的结构不为空,在建表时指定了
5.INSERT INTO linux values(‘wsp’,‘123’); 向表中插入一条记录(插入数据内容0
6.SELECT * FROM linux;
7.SELECT username,password FROM linux;

表的结构查看后,有一项NULL,意思是该项是否能为空;yes,可以为空,no,不能为空
创建表的时候也是,not null意思是该项不能为空,插入记录时,不能在这一项为空
varchar(10),限制该项最多输入10个字符

下图为例:


更改:

ALTER TABLE linux ADD class varchar(10);
在表linux中添加字段(表的结构)class,限制字符为10,默认可以为空

ALTER TABLE linux ADD age varchar(4) AFTER password;
在表linux中添加字段age在password字段后,限制字符为4

ALTER TABLE linux RENAME user;
将表linux更名,重命名为user

UPDATE user SET class=‘linux’ WHERE username=‘wsp’ AND password=‘123’;
将表user中的username为wsp,且passwrd为123的记录,其class字段更新为linux

ALTER TABLE linux CHANGE password password VARCHAR(20);
(要更改的目标属性) (更改后的表格的选项的属性)
将表linux的属性更改为password VARCHAR(20) (没加not null,不管原来是什么,修改后默认为yes,可以为空)

下图为例:




删除:

ALTER TABLE linux DROP age;
删除表中的字段age

DELETE FROM user WHERE username=‘wsp’
从表user中删除username为wsp的那一条记录

DROP TABLE user;
删除表user

DROP DATABASE bank;
删除数据库westos

下图为例:

数据库登陆用户管理

我们之前使用的都是root用户的身份

CREATE USER westos@localhost IDENTIFIED BY ‘wsp‘
用户名  登陆限制    认证(由’wsp‘字符串认证,即wsp为该用户密码字符串)
创建用户westos,但只能在本地登陆(即,只能在本主机服务器上登陆),密码为wsp

GRANT SELECT ON userdata.* TO westos@localhost
授权(对于userdata数据库中的所有表的SELECT权限)给westos用户

GRANT SELECT ON userdata.* TO westos@localhost IDENTIFIED BY ‘wsp’
创建用户并授权(创建用户,授权一步完成)

FLUSH PRIVILEGES
若操作过后,授权表未刷新。可以使用该命令,刷新授权表

REVOKE SELECT ON userdata.* FROM westos@localhost
撤销(取消)用户westos对于userdata.*的SELECT权限(查看权限)

SHOW GRANTS FOR westos@localhost;
显示westos用户的授权表

DROP USER westos@localhost;
删除用户westos

想查看用户是否成功创建了,可以查看umysql.ser : SELECT * FROM mysql.user

下图为例:

数据的备份,恢复

在企业中,各种各样的数据是最为宝贵的。因此,做好数据的备份与恢复工作也是很重要的。

mysqldump命令,用于mysql的数据备份
mysqldump --help 查看其可用参数

mysqldump -uroot -predhat --all-data
备份所有数据

mysqldump -uroot -predhat --all-data --no-data
备份了所有数据,但是不备份具体数据(只是备份了表的格式,不备份具体的表的内容)

备份操作:

mysqldump -uroot -predhat userdata > /mnt/userdata.sql
命令      认证用户 认证密码 备份的数据库    备份sql语句导入文件

恢复操作:
(不能直接将备份文件导入mysql -uroot -predhat < /mnt/userdata.sql 会报错提示未选择数据库(应该是要指定要将备份数据导入哪个数据库))

方式1:

编辑备份文件:
vim /mnt/userdata.sql

CREATE DATABASE userdata;
USE userdata;

mysql -uroot -predhat < /mnt/userdata.sql
命令      认证用户 认证密码 备份的数据库    备份sql语句导入文件

方式2:

不编辑备份文件:
mysql -uroot -predhat -e “CREATE DATABASE userdata;”
先创建出来userdata数据库

mysql -uroot -predhat < /mnt/userdata.sql
命令      认证用户 认证密码 备份的数据库    备份sql语句导入文件

下图为例:


更改用户密码

只要不加载授权表,即可免密登陆mariadb
mysqld_safe --skip-grant-tables & 跳过加载授权表启mysql进程
(这会启动一个进程,但是在启动该进程前,要先关闭之前打开的mariadb服务)

1.在超户密码已知的情况下更改其密码:

mysqladmin -uroot -predhat password westos
更改后密码(新密码)

2.在忘记超户密码的情况下更改其密码:

systemctl stop mariadb
先关闭该服务进程

mysqld_safe --skip-grant-tables &
后台启动跳过授权表加载的进程,免密进入mysql

UPDATE mysql.user SET Password='redhat' WHERE User='root';
更新mysql数据库中的user表单,root用户的password为redhat(密码在系统中明文显示,不经过加密)

UPDATE mysql.user SET Password=password('redhat') WHERE User='root';
更新mysql数据库中的user表单,root用户的password为redhat(对密码以密文加密)

然后关闭了mysqld_safe进程后,再启动服务mariadb

下图为例:

使用图形化界面工具管理数据库

由于现在有许多的便捷的工具,管理数据库也可以不再仅仅使用命令行的方式。这里我使用的是一个名为phpMyAdmin的软件。

1.搭建web服务器

yum install -y httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

2.解压安装包到web服务器发布目录

tar zxf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /var/www/html

mv phpMyAdmin-4.0.10.20-all-languages phpMyAdmin

3.下载php插件来支持phpMyAdmin软件

yum install -y php
yum install -y mbstring-5.4.16-21.el7.x86_64.rpm
yum install -y php-mysql.x86_64
systemctl restart httpd

访问:http://172.25.254.160/phpMyAdmin 进行管理

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: