一、CentOS7下安装MySQL数据库

CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了。 默认的是MariaDB (MySQL的一个分支,开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险 参照百度。开发基本相似)。

参考文章:CentOS7 安装MySQL

http://www.centoscn.com/mysql/2016/0315/6844.html

这里主要是安装MySQL版的

一、安装前的准备:

1.检查是否已安装

# yum list installed | grep mysql

如果有则全部卸载

# yum -y remove mysql-libs.x86_64

下载 MySQL Yum Repository 地址: http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

如果提示-bash: wget: 未找到命令,请先执行 yum install wget 安装 wget

加 MySQL Yum Repository 到你的系统 repository 列表中,执行:

# yum localinstall -y mysql-community-release-el7-5.noarch.rpm

2.验证是否安装成功

# yum repolist enabled | grep "mysql.*-community.*"

可以看到下面内:

MySQL 5.6 Community Server等

二、通过 Yum 来安装 MySQL

# yum install -y mysql-community-server

执行完成会提示“完毕!”。此时MySQL 安装完成,它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四个包

rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7

验证是否安装成功:whereis mysql 可以看到几个目录

三、启动和关闭 MySQL Server

# systemctl start mysqld

启动MySQL # systemctl start mysqld

查看MySQL状态 # systemctl status mysqld

停止MySQL # systemctl stop mysqld

测试MySQL是否成功:

mysql

可以进入 mysql 命令行界面

mysql>

则成功,本地可以访问了。

四、相关配置

1.防火墙,开放端口

远程访问 MySQL, 需开放默认端口号 3306.

使用 firewall-cmd(推荐)

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

firewall-cmd --permanent --zone=public --add-port=3306/udp

或使用其他方式开发端口(iptables等)

2.账户密码等设置

服务器启动后,可以执行

mysql_secure_installation;

此时输入 root 原始密码(初始化安装的话为空),接下来,为了安全,MySQL 会提示你重置 root 密码,移除其他用户账号,禁用 root 远程登录,移除 test 数据库,重新加载 privilege 表格等,你只需输入 y 继续执行即可。

3.远程访问设置

A.创建管理员账户

创建一个管理员用户 admin 账号 ,密码是 some_pass

CREATE USER 'admin'@'%' IDENTIFIED BY 'some_pass';

给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。

flush privileges;  //使授权立刻生效

B. 创建普通用户并授权

示例(使用root用户登录):(123456是密码 可改,%代表任意ip都可访问,如果换成指定的ip则只允许指定的ip服务器访问)

mysql > use mysql;
mysql > grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql > flushn privileges;

4.开机启动

查看MySQL服务是否开机启动
# systemctl is-enabled mysql.service;echo $?
enabled
0

如果是 enabled 则说明是开机自动,如果不是,执行

chkconfig --levels 235 mysqld on

5.设置字符集

SHOW VARIABLES LIKE 'character%';

可以看到默认服务器的字符器是 latin1 ,对中文不友好。
修改 /etc/my.cnf 文件,添加字符集的设置

[mysqld]
character_set_server = utf8 [mysql]
default-character-set = utf8
6.其他问题
1045(28000)错误 用户登陆信息错误,在user表中找不到
可以进入 mysql 命令行界面 查找mysql数据库 usre表 user,host,password看password是否正确,删掉use用户位null或者空字符串的那一行。
flush privileges; //重启下权限
再尝试连接MySQL数据库。

CentOS7下安装MySQL并配置远程连接的更多相关文章

  1. linux下安装mysql并设置远程连接

    腾讯云环境为Centos7.4   mysql版本为5.6 本次安装使用yum安装 检查是否已有mysql: yum list installed | grep mysql 下载yum源文件: wge ...

  2. ubuntu下安装mysql和配置远程访问

    ubuntu下安装mysql和配置远程访问   下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...

  3. CentOS双机中Docker下安装Mysql并配置互为主从模式

    CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...

  4. 通过yum在centos安装mysql并配置远程登录

    前言 前天按照Oracle上的文档装了一遍mysql,选了最新8.0的版本,后来出现一些问题,网上搜答案,出来的基本还是5.x版本的解决方案,并不适用8.0版本.然后我就去看了一下公司的正式环境买的阿 ...

  5. CentOS7下安装Mysql和Memcached 以及 使用C#操作Mysql和Memcached

    我本身是学.net的,但是现在很多主流SQL和NOSQL都是部置在linux下,本着好学的精神,前段时间装了个虚拟机,在其装上CentOS64位的服务器系统,对于英文0基础,linux0基础的我来说, ...

  6. CentOS7下安装MySQL的安装与配置(yum) (转)

    原文链接:http://www.centoscn.com/mysql/2016/0626/7537.html 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mys ...

  7. WampServer 下载以及安装问题 以及配置远程连接MYSQL

    WampServer 3.0 下载: http://dl.pconline.com.cn/download/52877-1.html 碰到的问题DDL无法添加,解决方法:MSVCR110.DLL fo ...

  8. Ubuntu 18.04 下如何配置mysql 及 配置远程连接

    首先是大家都知道的老三套,啥也不说上来就放三个大招: sudo apt-get install mysql-server sudo apt isntall mysql-client sudo apt ...

  9. CentOS下安装mysql及配置使用

    最近一直使用的是CentOS,平时用的最多的数据库是Sql Server,对于mysql还停留在上学的时候,早已忘得一干二净,写这篇内容目的是,重新学习如何安装使用mysql. 一.安装mysql 操 ...

随机推荐

  1. tensorflow 安装升级

    对于已经安装过的tensorflow,执行以下命令升级到最新版: pip3 install -U tensorflow 目前最新版本1.4

  2. Mybatis框架解析之Builder解析

    首先我们从builder这个类入手,首先我们注意到BaseBuilder,其实它的本质上市一个抽象类,它从本质上抽象出了Builder的一切,我猜想这里一定使用了建造者模式,但是这个抽象类里面居然没有 ...

  3. 记录一次参加D2前端技术论坛的杭州之行

    前言 在这里,闰土首先要感谢以下两位大佬提供的门票,分别是来自新浪微博部门的H同学,以及来自小米科技的D同学. 当我周六晚上在青旅写完这篇文章过后,第二天上网发现,已经有大佬提前一步在掘金上发布了高质 ...

  4. Python的列表

    1. Python的列表简介 1. 1 列表的定义 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 ,即它的 ...

  5. 【docker 一】入门实践、环境部署、基本操作指令、镜像库、数据卷

    简述 `docker是如火如荼的容器技术,今后会陆续上传关于微服务技术的学习笔记,希望能和大家一起学习一起分享!` docker环境搭建 1.获取最新版的Docker安装包 $ wget -qO- h ...

  6. Cocos2d-x 3.0 Android改动APK名、更改图标、改动屏幕方向、改动版本,一些须要注意的问题

    非常多新手程序员做出一个游戏后,编译成apk安装在手机上.却发现安装程序名和游戏图标都是Cocos2dx默认的,并且默认屏幕方向是横向.那么须要怎么才干改动为自己想要的呢? 打开你创建的project ...

  7. Django的Form

    Django的Form有两个基本用途: 1.用于生成html的Form表单 2.用于后台做表单验证 #!/usr/bin/env python # -*- coding:utf-8 -*- impor ...

  8. Github开源项目(企业信息化基础平台)

    JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...

  9. WCF实现长连接

    由于WCF的机制,连接池会在连接建立一定时间后超时,即使设置了超时时间非常长,也可能被服务端系统主动回收.之前做项目时碰到了这个问题,所以项目上考虑采用长连接,自动管理连接池,当连接超时后,自动重建, ...

  10. json的那些事

    1.什么是json? json(javascript object notation)全称是javascript对象表示法,它是一种数据交换的文本格式,而不是一种编程语言,用于读取结构化数据.简单来说 ...