Linux之Mariadb服务

一、下载mariadb软件

yum install mariadb-server.x86_64 -y
systemctl start mariadb

在这里插入图片描述

二、安全初始化

1、默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口。

netstat -antlupe | grep mysql		##查看端口是否打开
vim /etc/my.cnf

添加:
skip-networking=1

systemctl restart mariadb.service

在这里插入图片描述

2、数据库起始状态设定信息是不安全的,需要作以下设定

执行脚本:mysql_secure_installation

除了设置密码输入Y,其他都直接回车

[root@dns named]# mysql_secure_installation 
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] 		##移除匿名用户登陆
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] ##禁止超级用户远程登陆
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] 	##移除测试数据库
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] 		##立即更新
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

在这里插入图片描述

三、数据库超级用户密码更改及忘记时

mysqladmin -uroot -predhat password zhao

当超级用户密码忘记时:
systemctl stop mariadb
mysqld_safe --skip-grant-tables &

进入mariadb以后:
update mysql.user set Password=password('redhat') where User='root';

kill -9 mysql的所有进程id

systemctl start mariadb

在这里插入图片描述
在这里插入图片描述
测试:
用新的密码登录:

mysql -uroot -predhat

在这里插入图片描述
成功登录!

四、数据库的管理

SHOW DATABASES;							##列出库
CREATE DATABASE redhat;					##建立库
USE redhat;								##进入库
			
CREATE TABLE linux (					##建立表
    -> username varchar(50) not null,
    -> password varchar(50) not null
    -> );
SHOW TABLES;							##查看库的所有表
DESC linux;								##查看表结构
INSERT INTO linux VALUES ('ZHAO','123');	##插入数据到linux表中
SELECT * FROM linux;					##查看linux表所有字段
SELECT * FROM redhat.linux				##查看redhat库的linux表
SELECT username,password from linux;	##查询指定字段在linux表中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、数据库的更改

UPDATE linux SET password=password('redhat') where username='redhat';	##更改ZHAO
ALTER TABLE linux ADD class varchar(20);		##增加class字段
ALTER TABLE linux DROP class;					##删除class字段
ALTER TABLE linux ADD age varchar(20) AFTER password;	##增加age在password后面
ALTER TABLE linux RENAME redhat;				##更改表的名字

在这里插入图片描述
在这里插入图片描述

六、删除

DELETE FROM westos where username='ZHAO'	##删除westos表的ZHAO字段
DROP TABLE westos;							##删除westos表
DROP DATABASE redhat;						##删除redhat库

在这里插入图片描述
在这里插入图片描述

七、备份和恢复

1、备份

mysqldump -uroot -p redhat > /mnt/redhat.sql			##备份redhat库所有数据到redhat.sql文件
mysqldump -uroot -p redhat --no-data > /mnt/redhat.sql	##备份redhat库的框架到redhat.sql文件
mysqldump -uroot -p --all-database > /mnt/redhat.sql	##备份所有库的所有数据到redhat.sql文件
mysqldump -uroot -p --all-database --no-data > /mnt/redhat.sql	####备份所有库的框架到redhat.sql文件
mysqldump -uroot -p redhat > /mnt/redhat.sql

在这里插入图片描述

mysqldump -uroot -p redhat --no-data > /mnt/redhat.sql

在这里插入图片描述

mysqldump -uroot -p --all-database > /mnt/redhat.sql

在这里插入图片描述

mysqldump -uroot -p --all-database --no-data > /mnt/redhat.sql

在这里插入图片描述

2、恢复

恢复方式1:

mysql -uroot -p -e "CREATE DATABASE redhat;"		##先创建redhat库,再恢复
mysql -uroot -p redhat < /mnt/redhat.sql			##将备份的数据导入到redhat库中

在这里插入图片描述

恢复方式2:

vim /mnt/redhat.sql					##在脚本中写入创建redhat库的语句
CREATE DATABASE redhat;
USE redhat;

mysql -uroot -p < /mnt/redhat.sql

在这里插入图片描述
在这里插入图片描述

八、用户授权

CREATE USER zhtc@'localhost' identified by 'redhat';	##添加zhtc用户在数据库可以访问,密码为redhat
GRANT SELECT,INSERT on redhat.* TO zhtc@localhost;		##授权查看和插入权限给zhtc用户,在redhat库
SHOW GRANTS FOR zhtc@localhost;							##查看zhtc用户的权力
REVOKE INSERT ON redhat.* FROM zhtc@localhost;			##移除zhtc用户的插入权力
DROP USER zhtc@localhost;								##移除zhtc用户

FLUSH PRIVILEGES;										##刷新权力,不一定成功刷新,建议重启服务。

示例:

CREATE USER zhtc@'localhost' identified by 'redhat';	##添加zhao用户在数据库,密码为redhat。

在这里插入图片描述

GRANT SELECT,INSERT on redhat.* TO zhtc@localhost;		##授权查看和插入权限给zhtc用户,在redhat库
SHOW GRANTS FOR zhtc@localhost;							##查看zhtc用户的权力

在这里插入图片描述

REVOKE INSERT ON redhat.* FROM zhao@localhost;			##移除zhtc用户的插入权力

在这里插入图片描述

DROP USER zhtc@localhost;								##移除zhtc用户

在这里插入图片描述

九、安装phpmyadmin 数据库图形管理

1.下载phpMyAdmin-3.4.0-all-languages

在这里插入图片描述

2、yum install php php-mysql -y

在这里插入图片描述

3、systemctl restart httpd

4、tar jxf phpMyAdmin-3.4.0-all-languages -C /var/www/html

在这里插入图片描述

5、mv phpMyAdmin-3.4.0-all-languages mysqladmin

mv /var/www/html/phpMyAdmin-3.4.0-all-languages/ mysqladmin

在这里插入图片描述

6、

cd mysqladmin
cp config.sample.inc.php config.inc.php

在这里插入图片描述

7、编辑config.inc.php文件

vim config.inc.php
添加:
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';

在这里插入图片描述

测试:
在浏览器的地址栏输入:172.25.254.133/mysqladmin

在这里插入图片描述
输入正确的帐号和密码后就可以管理数据库了!
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LINUX重启MYSQL的命令 . 分类: Linux 2010-06-25 10:21 6367人阅读 评论(0) 收藏 举报 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 提问 编辑摘要 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 刚开始学 mysql时都是用redhat自带的。启动是什么 /rc.d/init.d/ start 这很简单,但是后来越学越多,系统自带的 mysql,有的是版本太低,有的是与 自己想要装的web服务需要的低版本的mysql 后来自己学着以tar的方式安装 mysql,我的mysql装在/usr/local/mysql目录下启 动碰到过很多问题。最常见的是: ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 解决办法: [root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root / > -S /var/lib/mysql/mysql.sock password 'your.passwd' 或者做个连接 ln -s /var/lib/mysql/mysql.sock /tmp 其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动 命令不对,我碰到过 常见的几种启动方式,自己也不是记得很清楚,如果你确定tmp下有mysql.sock这 个文件不妨试试另外的几个命令 /usr/local/mysql/bin/mysql -u root -p /usr/local/mysql/bin/mysqld --user=mysql& /usr/local/mysql/bin/mysqld --user=root& /usr/local/mysql/bin/mysqld_safe --user=root& /usr/local/mysql/bin/mysqld_safe --user=mysql& /usr/local/mysql/bin/safe_mysqld--uer=root&(注意 safe_mysqld与mysqld_safe是不同的,&表示mysql在后台运行)我的就会报错了 STOPPING server from pid file /usr/local/mysql/data/localhost.localdomain.pid 060304 11:46:21 mysqld ended 这是权限问题,我的mysql目录属于root用户,也属于root群组,改用 mysqld_safe启动就没问题了, 大家只要注意这几个 mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多试 几次 其实有时mysql已经正常启动了,查看mysql是否启动命令 ps -aux | grep mysqld 会看到如下类似内容 mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep mysql 查看mysql是否在监听端口命令 netstat -tl | grep mysql 会看到如下类似内容 tcp 0 0 *:mysql *:* LISTEN

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值