新手学Linux(八)----MySql安装(Centos7)

最近项目新申请了云服务器,老大让我搭了下环境,在安装MySql的时候遇到的坑稍微多点,所以在这里做个记录,我的安装方式不是通过安装包来安装的,而是通过yum来安装的,这样倒是可以省去很多的事情,下面来说说具体的安装过程。

一、卸载原有mysql

因为现在mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库;

rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

有的话,我们就通过 rpm -e 命令 或者 rpm -e –nodeps 命令来卸载掉

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!

二、通过yum来进行mysql的安装

一开始是通过这个命令来直接安装的:

yum install mysql mysql-server mysql-devel

安装mysql和mysql-devel都成功,但是安装mysql-server失败,如下:

[localhost ~]# yum install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.sina.cn
 * extras: mirrors.sina.cn
 * updates: mirrors.sina.cn
No package mysql-server available.
Error: Nothing to do

查资料发现是CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,有两种方式可以解决,用*MariaDB*来代替,另一种方式就是从官网上下载安装

 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm     //下载YUM库

 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm  //安装YUM库

 yum install -y mysql-community-server   //安装数据库

 systemctl start mysqld.service  //启动数据库服务

 mysql -uroot -p   //默认空密码

重置root密码后重启mysql服务:

update mysql.user set authentication_string=password("yourpassword") where user="root" and Host="localhost";
flush privileges;
quit;
systemctl restart mysqld;

在这的时候出了一个问题:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

请修改my.cnf,添加skip-grant-tables和skip-networking:

vi /etc/my.cnf

[mysqld]

skip-grant-tables

skip-networking

重启mysql,然后重复以上修改密码步骤即可,记得修改完后,去掉my.cnf添加的两行。如果还有其他的一些问题,具体的可以参考这篇博客:http://www.cnblogs.com/ivictor/p/5142809.html

三、添加远程登录用户

配完以上步骤之后,也就是在本地使使,要是想远程连接的话还需要做具体的配置。

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

注:'%'代表任意地址,也可以指定IP

检查用户表,刷新内存权限

select host, user from user;

FLUSH PRIVILEGES;

现在的话,数据库就可以使用了,后续的话,可以设置防火墙,或者编码格式等等。

关闭防火墙

centos 7:
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
之前的版本:
service iptables stop #停止
chkconfig iptables off #禁用

查看mysql的状态:

* 查看当前mysql运行状态

mysql>status

参数说明:

haracter_set_client:客户端请求数据的字符集。

character_set_connection:从客户端接收到数据,然后传输的字符集。

character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

character_set_results:结果集的字符集。

character_set_server:数据库服务器的默认字符集。

character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java进阶架构师

理解数据库连接池底层原理之手写实现

数据库连接池的基本思想是:为数据库连接建立一个“缓冲池”,预先在池中放入一定数量的数据库连接管道,需要时,从池子中取出管道进行使用,操作完毕后,在将管道放入池子...

1113
来自专栏三木的博客

Linux shell 程序设计1——安装及入门

1、什么是shell? shell是linux内核的“壳”,是用户和内核的桥梁。它类似于windows下的命令提示符,将用户输入的命令解释给内核执行,并返回给用...

2056
来自专栏性能与架构

为 Redis 添加 JSON 数据类型

1. 简介 Redis 本身有比较丰富的数据类型,例如 String、Hash、Set、List JSON 是我们常用的数据类型,当我们需要在 Redis 中...

1.4K6
来自专栏javathings

JVM 线程和操作系统线程一一对应吗?

Java 的线程和操作系统的线程是一一对应的。使用 Java 线程就是使用一个操作系统本地线程。

4444
来自专栏重庆的技术分享区

Git入门

Git由Linus Torvalds为Linux内核开发设计和开发。Git为非线性分布式开发提供支持,允许多个贡献者同时处理项目。Git是最流行的分布式版本控制...

1972
来自专栏梧雨北辰的开发录

Python学习(2):环境安装与运行一、Windows安装Python二、Mac OS与Linux安装Python三、Python的三种运行方式

2183
来自专栏图形学与OpenGL

错误 RC1015: 无法打开包含文件 'XTToolkitPro.rc'

XtremeToolkitPro作为VC++/MFC平台下目前最流行的GUI界面库之一,安装和使用都很方便。不过,在实际使用中...

3843
来自专栏木头编程 - moTzxx

CentOS下(rsync+crontab)触发式实现服务器间的文件备份同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

2412
来自专栏琦小虾的Binary

Ubuntu环境如何上传项目到GitHub网站?

Ubuntu环境如何上传项目到GitHub网站? 之前笔者写了一篇《CMake学习笔记(三)——以笔者的Robosub竞赛为例》的博客。博客中笔者以自己的项目为...

2988
来自专栏一枝花算不算浪漫

[Linux基础]Linux基础知识入门及常见命令.

4077

扫码关注云+社区

领取腾讯云代金券