环境:阿里云ECS服务器,系统为centos7.2

删除原来的数据库:

centos7中默认安装了数据库MariaDB,如果直接安装MySQL的话,会直接覆盖掉这个数据库,当然也可以手动删除一下:

[root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件

然后现在开始将当前目录切换到root也就是:    cd ~

下载与安装MySQL:

这里采用Yum管理好了各种rpm包的依赖,能够从指定的服务器自动下载RPM包并且安装,所以在安装完成后必须要卸掉,否则会自动更新。

1.安装MySQL官方的yum repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.下载rpm包

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL服务

[root@localhost ~]# yum -y install mysql-community-server

最后会出现个complete!

4.启动MySQL服务

[root@localhost ~]# systemctl start  mysqld.service

看到类似下面的界面,或者以Starting MySqL server..   started MysqlServer..结尾的就成功启动了

还有几个关于MySQL常用的命令:

重启:systemctl restart mysqld.service

停止:systemctl stop mysqld.service

查看状态:systemctl status mysqld.service

还可以配置MySQL的开机启动:

[root@woitumi-128 ~]# systemctl enable mysqld

[root@woitumi-128 ~]# systemctl daemon-reload   刚刚配置的服务需要让systemctl能识别,就必须刷新配置

 关于登录MySQL:

登录命令:

[root@localhost ~]# mysql -u root -p

意思就是用root用户登录,然后准备输入密码。

第一次启动MySQL后,就会有临时密码,这个默认的初始密码在/var/log/mysqld.log文件中,我们可以用这个命令来查看:

grep "password" /var/log/mysqld.log

可是不知道是我输错密码还是不能复制粘贴,一直显示错误:

(好吧后面看看这个代码应该是  mysql -u root -p才对,可能这样输入命令就不会有错吧……)

然后我们还可以先跳过密码验证登录进MySQL:

停止服务:

systemctl stop mysqld.service

修改mMySQL的配置文件:

vi /etc/my.cnf

在最后加上配置:

skip-grant-tables

然后再启动服务:

systemctl start mysqld.service

然后这时就可以跳过密码来登录mysql:

mysql -u root

然后是修改下密码:(就看别人的例子是这样的)

mysql> use mysql;
Database changed
mysql> update mysql.user set authentication_string=password('4008') where user='root' ;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

然后exit退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL。

然后就可以用新密码登录了:

sql报错

但这个时候,我试了一下一个简单的sql语句:

what???我不是刚刚才设完密码吗??

然后百度了下。说这个情况还要加个这样的改密码的语句:

SET PASSWORD = PASSWORD('密码');

但这个命令又出现了这样的问题:

额百度后知道原来是密码等级太简单,如果你坚持要这样的密码,要改变密码等级:

登录数据库后,输入

mysql> set global validate_password_policy=0;  //改变密码等级

mysql> set global validate_password_length=4;   //改变密码最小长度

然后再输入刚刚的命令:

SET PASSWORD = PASSWORD('密码');

然后再用 show databases;就没有报错了

配置远程登录:

MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。

使用命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' WITH GRANT OPTION;

.*.的意思是所有库的所有表;To后面跟的是用户名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密码。

然后再:

mysql> flush privileges;

注意:

需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置

bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值

skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数

添加3306端口:

命令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

结果说没有运行防火墙:

那就先开防火墙咯:

systemctl status firewalld  查看防火墙状态

systemctl start firewalld  打开防火墙

然后再输入那个开放3306端口的命令就行了

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

firewall-cmd --reload  重启防火墙

最后的收尾:

1.我们刚开始说要写在yum的repository,用这个命令就行:

yum -y remove mysql57-community-release-el7-10.noarch

2.MySQL设一下utf8:

打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴:

[mysqld] 

character_set_server=utf8
init_connect='SET NAMES utf8'

采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 -- UTF-8 Unicode ,排序规则:utf8_general_ci

3.阿里云的服务器中的安全组加入mysql连接的规则。这个很重要不然远程无法连接上。

4.配置文件的说明:

  /etc/my.cnf 这是mysql的主配置文件
  /var/lib/mysql mysql数据库的数据库文件存放位置
  /var/log mysql数据库的日志输出存放位置

转载:https://www.cnblogs.com/wangshen31/p/9556804.html

阿里云 centos7 安装mysql数据库的更多相关文章

  1. 阿里云 centos7.X mysql数据库安装、配置

    前言 1024阿里云搞活动,ecs云服务新用户促销活动,活动连接就不贴了,买了之后暂时不知道要做啥,想着先安装mysql数据库. 步骤 root用户登录进来 1.配置mysql的yum源,yum lo ...

  2. 阿里云centos7安装mysql8数据库

    一.安装mysql 1. mysql官网查找仓库源镜像,选择downloads https://www.mysql.com/downloads/ 2. 找到社区版 3. 选择yum仓库 4. 选择对应 ...

  3. 【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...

  4. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

  5. 阿里云Centos7.x MySql安装教程示例

    创建用户 useradd mysql; passwd mysql; 下载(比如:5.5.61) 地址 https://dev.mysql.com/downloads/mysql/5.6.html#do ...

  6. 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境

    使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...

  7. 阿里云 centos7 安装MySQL8.0.13

    1.下载MySQL安装包(这里是有技巧的,说不定我这时写这个的时候版本还是你看到时的旧版本了,如果已经不是8.0了,可以根据这样来 下新版本) 先进入官网 再将这两者一结合,就是最新版本的了 所以 [ ...

  8. 阿里云-docker安装mysql

    1.检查内核版本,必须是3.10及以上 uname ‐r 2.安装docker yum install docker 3.输入y确认安装 4.启动docker:service docker start ...

  9. 腾讯云centos7安装MySQL

    centos就centos呗,为什么要加个腾讯云呢?有这种疑问的兄dei,一定是没被不同云的系统坑过啊,阿里云的Ubuntu和腾讯云的Ubuntu不一样,centos好像也有差别,各个云平台,同样的系 ...

随机推荐

  1. socket编程(二)

    TCP下粘包问题 两种情况下会发生粘包. 1.发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合到一起,产生粘包) 发送方:AB #其实放在缓存里没发送 发送方:B #其 ...

  2. windows下大数据开发环境搭建(4)——Spark环境搭建

    一.所需环境 · Java 8 · Python 2.6+ · Scala · Hadoop 2.7+ 二.Spark下载与解压 http://spark.apache.org/downloads.h ...

  3. 【作业】Kitchen Plates(拓扑排序)

    题目链接:https://vjudge.net/contest/345791#problem/O [问题描述] You are given 5 different sizes of kitchen p ...

  4. Ubuntu16.04安装qt

    5.11官方下载网站: http://download.qt.io/official_releases/qt/5.11/5.11.1/ 可以直接下载linux系统下的.run安装包: 安装方式:htt ...

  5. Http 请求到后端过程

    描述下网页一个 Http 请求,到后端的整个请求过程 评注:基础题,感觉属于常识题!必会! 回答: 利用DNS进行域名解析 -------> 发起TCP的3次握手 --------> 建立 ...

  6. 5-24 c++语言之【基础知识】

    最近一段时间继续开始了c++的学习,作为c plus plus 难免会与c语言做一个对比,很明显的感受到c++语言注重代码的复用性和拓展性,而c语言更加注重其算法的高效性,这也是今后需要注意的地方,避 ...

  7. Qt4 和 Qt5 模块的分类

    Qt5 与 Qt4 其中的一个区别是底层架构进行了改变,Qt5 引入了更加详细的模块化的概念,将众多功能细分到几个模块之中,Qt4 则是一种粗略的划分.本文主要对 Qt5 和 Qt4的模块进行一个简单 ...

  8. vue基于 element ui 的按钮点击节流

    vue的按钮点击节流 场景: 1.在实际使用中,当我们填写表单,点击按钮提交的时候,当接口没返回之前,迅速的点击几次,就会造成多次提交. 2.获取验证码,不频繁的获取. 3.弹幕不能频繁的发 基于这几 ...

  9. An unavoidable detour for home CodeForces - 814E (dp)

    大意: 给定一棵树每个点的度数, 求所有满足条件的树的个数 每个点到$1$的最短路唯一 假设$l_i$为点$i$到$1$的最短距离, 那么$l_i\ge l_{i-1}$ 每个点度数范围$2\le d ...

  10. java封装数据类型——Byte

    Byte 是基本类型byte的封装类型.与Integer类似,Byte也提供了很多相同的方法,如 decode.toString.intValue.floatValue等,而且很多方法还是直接类型转换 ...