CentOS7下安装MySQL并配置远程连接
一、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并配置远程连接的更多相关文章
- linux下安装mysql并设置远程连接
腾讯云环境为Centos7.4 mysql版本为5.6 本次安装使用yum安装 检查是否已有mysql: yum list installed | grep mysql 下载yum源文件: wge ...
- ubuntu下安装mysql和配置远程访问
ubuntu下安装mysql和配置远程访问 下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
- 通过yum在centos安装mysql并配置远程登录
前言 前天按照Oracle上的文档装了一遍mysql,选了最新8.0的版本,后来出现一些问题,网上搜答案,出来的基本还是5.x版本的解决方案,并不适用8.0版本.然后我就去看了一下公司的正式环境买的阿 ...
- CentOS7下安装Mysql和Memcached 以及 使用C#操作Mysql和Memcached
我本身是学.net的,但是现在很多主流SQL和NOSQL都是部置在linux下,本着好学的精神,前段时间装了个虚拟机,在其装上CentOS64位的服务器系统,对于英文0基础,linux0基础的我来说, ...
- CentOS7下安装MySQL的安装与配置(yum) (转)
原文链接:http://www.centoscn.com/mysql/2016/0626/7537.html 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mys ...
- WampServer 下载以及安装问题 以及配置远程连接MYSQL
WampServer 3.0 下载: http://dl.pconline.com.cn/download/52877-1.html 碰到的问题DDL无法添加,解决方法:MSVCR110.DLL fo ...
- Ubuntu 18.04 下如何配置mysql 及 配置远程连接
首先是大家都知道的老三套,啥也不说上来就放三个大招: sudo apt-get install mysql-server sudo apt isntall mysql-client sudo apt ...
- CentOS下安装mysql及配置使用
最近一直使用的是CentOS,平时用的最多的数据库是Sql Server,对于mysql还停留在上学的时候,早已忘得一干二净,写这篇内容目的是,重新学习如何安装使用mysql. 一.安装mysql 操 ...
随机推荐
- JavaWeb 之文件的上传下载
又到了每周更新博客的时候了,每看到自己发布的随笔阅读量上涨的时候就特别开心,我也会尽自己的努力提高自己的水平,总结出通俗易读的学习笔记,还望大家能多多支持!!! ------------------- ...
- 一键架设FastDFS分布式文件系统脚本,基于Centos6
一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等 ...
- iOS开发之线程间的MachPort通信与子线程中的Notification转发
如题,今天的博客我们就来记录一下iOS开发中使用MachPort来实现线程间的通信,然后使用该知识点来转发子线程中所发出的Notification.简单的说,MachPort的工作方式其实是将NSMa ...
- ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现
很长一段时间以来,我都在思考如何在ASP.NET Core的框架下,实现一套完整的事件驱动型架构.这个问题看上去有点大,其实主要目标是为了实现一个基于ASP.NET Core的微服务,它能够非常简单地 ...
- bootstarp模板02
HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="ut ...
- eclipse中JDK、struts2、Spring、Hibernate源码查看
一般,我们导入的只有jar文件,所以看不到对于的java文件,如果需要看源码,必须下载对应开源包的源码,一般都是zip文件,比如Spring,下载spring-framework-2.0.8-with ...
- 获取本地ip
public void GetLocalIP(string username) { List<string> strIPs = new List<string>(); Netw ...
- 在Eclipse中如何关联源代码
我们就以Struts2框架为例,展示在Eclipse中如何关联源代码.例如,在Struts2框架的学习中,我们有时需要查看ActionSupport这个类的源码,这个时候就要在Eclipse中关联源代 ...
- if;脚本中退出语句:exit 数字,用$?查时为exit设置的数字,此数字为程序执行完后的返回数据,可以通过此方法自动设定
if [ 条件 ];then 代码 fi if [ 条件 ] then 代码 fi [root@localhost ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda5 % ...
- 子查询。ANY三种用法。ALL两种用法。HAVING中使用子查询。SELECT中使用子查询。
子查询存在的意义是解决多表查询带来的性能问题. 子查询返回单行多列: ANY三种用法: ALL两种用法: HAVING中的子查询返回单行单列: SELECT中使用子查询:(了解就好,避免使用这种方法! ...