腾讯云CentOS6.5下安装mysql,并配置好远程访问等权限,途中遇到的问题

1.使用yum命令安装mysql

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

2.设置开机启动

[root@bogon ~]#  chkconfig mysqld on 

3.启动MySQL服务

[root@bogon ~]#  service mysqld start  

4.设置MySQL的root用户设置密码

[root@bogon ~]#  mysql -u root  
mysql> select user,host,password from mysql.user;  
+------+-----------+----------+  
| user | host      | password |  
+------+-----------+----------+  
| root | localhost |          |  
| root | bogon     |          |  
| root | 127.0.0.1 |          |  
|      | localhost |          |  
|      | bogon     |          |  
+------+-----------+----------+  
5 rows in set (0.01 sec)  

查询用户的密码,都为空,用下面的命令设置root的密码为root

mysql> set password for root@localhost=password('root');  
mysql> exit  

6.创建mysql新用户test_user

mysql> create user 'test_user'@'%' identified by 'test_user';  
Query OK, 0 rows affected (0.00 sec) 

7.给新用户test_user授权,让他可以从外部登陆和本地登陆
注意:@左边是用户名,右边是域名、IP和%,表示可以访问mysql的域名和IP,%表示外部任何地址都能访问。

mysql> grant all privileges on *.* to 'test_user'@'localhost' identified by 'test_user';  
Query OK, 0 rows affected (0.00 sec)  
mysql> grant all privileges on *.* to 'test_user'@'%' identified by 'test_user';  
Query OK, 0 rows affected (0.00 sec)  
mysql> select user,host,password from mysql.user;  
+----------+-----------+-------------------------------------------+  
| user     | host      | password                                  |  
+----------+-----------+-------------------------------------------+  
| root     | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
| root     | bogon     |                                           |  
| root     | 127.0.0.1 |                                           |  
|          | localhost |                                           |  
|          | bogon     |                                           |  
| test_user | %         | *3046CF87132BBD4FDDF06F321C6859074843B7D3 |  
| test_user | localhost | *3046CF87132BBD4FDDF06F321C6859074843B7D3 |  
+----------+-----------+-------------------------------------------+  
7 rows in set (0.00 sec)  
mysql> flush privileges;  
Query OK, 0 rows affected (0.01 sec)  

8.查看mysql5.1的默认存储引擎
从下面的执行结果可以看出,mysql的默认引擎是MyISAM,这个引擎是不支持事务的。

mysql> show engines;  
+------------+---------+------------------------------------------------------------+--------------+------+------------+  
| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |  
+------------+---------+------------------------------------------------------------+--------------+------+------------+  
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |  
| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |  
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |  
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |  
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |  
+------------+---------+------------------------------------------------------------+--------------+------+------------+  
5 rows in set (0.00 sec)  

也可以以下面的方式查看

mysql> show variables like 'storage_engine';  
+----------------+--------+  
| Variable_name  | Value  |  
+----------------+--------+  
| storage_engine | MyISAM |  
+----------------+--------+  
1 row in set (0.00 sec)  

9.修改mysql的默认引擎为InnoDB
9.1 停止mysql

mysql> exit;  
[root@bogon ~]# service mysqld stop  

9.2 修改/etc/my.cnf
[mysqld] 后加入

default-storage-engine=InnoDB  

加入后my.cnf的内容为:

[root@bogon etc]# more my.cnf  
[mysqld]  
datadir=/var/lib/mysql  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
# Disabling symbolic-links is recommended to prevent assorted security risks  
symbolic-links=0  default-storage-engine=InnoDB  [mysqld_safe]  
log-error=/var/log/mysqld.log  
pid-file=/var/run/mysqld/mysqld.pid  

9.3 启动mysql

[root@bogon etc]# service mysqld start  
Starting mysqld:  [  OK  ] 

9.4 查看mysql默认存储引擎

[root@bogon etc]# mysql -u root -p  
Enter password:   
Welcome to the MySQL monitor.  Commands end with ; or \g.  
Your MySQL connection id is 2  
Server version: 5.1.73 Source distribution  Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.  Oracle is a registered trademark of Oracle Corporation and/or its  
affiliates. Other names may be trademarks of their respective  
owners.  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  mysql> show variables like 'storage_engine';  
+----------------+--------+  
| Variable_name  | Value  |  
+----------------+--------+  
| storage_engine | InnoDB |  
+----------------+--------+  
1 row in set (0.00 sec)  

10.CentOS6.5开放mysql端口3306
CentOS6.5默认是不开放端口的,如果要让外部的系统访问CentOS6.5上的mysql,必须开放mysql的端口3306
10.1 修改/etc/sysconfig/iptables
添加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 

修改后iptables中的内容是

[root@bogon etc]# more /etc/sysconfig/iptables  
# Firewall configuration written by system-config-firewall  
# Manual customization of this file is not recommended.  
*filter  
:INPUT ACCEPT [0:0]  
:FORWARD ACCEPT [0:0]  
:OUTPUT ACCEPT [0:0]  
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
-A INPUT -p icmp -j ACCEPT  
-A INPUT -i lo -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
#添加配置项  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  
-A INPUT -j REJECT --reject-with icmp-host-prohibited  
-A FORWARD -j REJECT --reject-with icmp-host-prohibited  COMMIT  

11.重启防火墙

[root@bogon etc]# service iptables restart 

这样就可以从外部访问mysql了。

至此,mysql在CentOS6.5上的安装过程、用户创建、外部访问的步骤全部完成。

 

—————————分割线—————————————

上面都是从别人发表的文章中截取的~~~作者要是看到了莫怪,我只是想收藏,怕源文被删就看不到了,谢谢你们这些摘树的前人。

其实这样在云主机上设置mysql并访问是OK的。适用于一切的centos6.5,亦或者其他linux系统。万变不离其宗,系统的改变,无非是命令行语言的改变,其宗旨是不会变的。

 

LZ第一次用云主机,想试试在本地远程访问一下,结果发现,咦,连接出错了~~~,后来试了很多方法,还是没有能成功。

刚开始,用Navicat连接远程数据库,出现如下错误:应该就是远程不允许访问了。

远程拒绝访问的情况可能有两种:

一、mysql设置中,不允许远程访问.也即你使用的mysql登陆账号没有远程访问的权限。比如root账号,在我们之前看到的use权限列表中,root就没有远程访问的权限。现在来设置root的远程访问权限。

方法一:实现远程连接(授权法)
mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "root";
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
方法二:实现远程连接(改表法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。 
mysql> use mysql;
Database changed
mysql> update user set host = '%' where user = 'root';
这时,root将权限改为ALL PRIVILEGES;
这样在远端就可以通过root用户访问Mysql.
二、确定服务器上的防火墙没有阻止 3306 端口。也即服务器上面有没有开放mysql的端口~(我的就是这个问题)
看到上面的第10条中,在端口管理iptables中添加3306端口的开放配置,这样算是硬件的配置。然后看看你的云主机设置里面有没有开放对应的端口,或者说是不是开放了所有端口~我的云主机如下图:
腾讯云主机中,貌似是没有开放所有端口的,所以需要我们自己在这里稍微设置一下,勾选“默认安全组放通全部端口”选项,“确定”。基本上,我们能做的都做了,要不然就是配置文件出错了,再返回去看看。设置好了以后,我去试了一下连接,结果成功了~
哈哈,好高兴~以后遇到这些问题就知道在哪些地方找问题了~~~

转载于:https://www.cnblogs.com/yangyabo/p/5301364.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

休眠性能提示:脏收集效果

在使用Hibernate作为ORM开发服务器和嵌入式应用程序8年后,我全力以赴地寻求提高Hibernate性能的解决方案,阅读博客和参加会议,我决定与您分享这几年获得的知识。 这是更多新帖子中的第一篇: 去年,我以Devoxx的身份参加…

java runtime 异常_Java中RuntimeException和Exception

在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常。所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类不可以在不声明的情况下抛出非RuntimeException简单的说,非RuntimeException必要自己写catch块处…

BZOJ3130: [Sdoi2013]费用流[最大流 实数二分]

3130: [Sdoi2013]费用流 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 960 Solved: 505[Submit][Status][Discuss]Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识。 最大流问题:给定一张有向图表示运输网络…

Linux Shell 003-变量

Linux Shell 003-变量 本节关键字:Linux、Shell、变量、全局变量、系统变量 相关指令:read、echo、unset、export 变量的含义 变量是用来临时保存数据的,该数据是可以变化的数据。如果某个内容需要多次使用,并且在代码中重复出现…

Java自动机实现

这篇文章将解决在Java中实现有限状态机的问题。 如果您不知道什么是FSM或在什么地方可以使用FSM,您可能会热衷于阅读此 , 这个和这个 。 如果您发现自己在设计上使用FSM的情况,则可能已经开始为实现相同接口的每个状态编写类。 一个好的设计可…

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files这个文件找不到

在C:\Windows\Microsoft.NET\Framework64\v4.0.30319文件夹下面建立Temporary ASP.NET Files 文件夹(Framework64 注意64,这个可能是我们用的64位系统,但是vs2010不分32位还是64位,所以在C:\Windows\Microsoft.NET\Framework\v4.0…

java电脑运行视频演示_javaweb视频第一天(二)

无论通过哪种方式得到的class类对象,是同一个。比较的是地址码这里教会你:如何去使用class对象现在就知道这个:如何使用反射,并且说反射是实现了什么样的功能。如何通过反射得到里面的相应字段,得到里面的相应函数等等…

模型驱动 ModelDriven

ModelDriven:模型驱动,对所有action的模型对象进行批处理. 我们在开发中, 在action中一般是用实体对象,然后给实体对象get,set方法。 RegAction{   User user ;   //get/set} 然后在jsp页面中给action中的user属性绑定值是通过如下方式 &…

本月风味– Neo4j和Heroku

Neo4j今年早些时候发起了一项挑战,即“ 种子播云 ”,以使人们使用Neo4j附加组件在Heroku上创建模板或演示应用程序。 经过许多内部辩论之后,我决定进入,但由于缺乏想法而陷入绝望。 当我什么都没做的时候,这个主意就出…

1 + 11 + 1111+ 11111+ ..... + 11111(2016个) 结果是几位数

# -*- coding: utf-8 -*- """ Created on Mon Mar 21 20:38:06 2016author: yanjie """1 11 1111 11111 ..... 11111(2016个) 结果是几位数 用什么数据结构 有几个6 写算法a []; m 0; six 0; for i in range(2016,0,-1):b (im) % 10;m (…

[回归分析][10]--相关误差的问题

[回归分析][10]--相关误差的问题这一篇文章还是来分析相关误差的问题。 1.游程数 定义:游程数--残差穿过x-轴的次数 用这个可以检查如残差有一块在x轴上面,一块在x轴下面的情形。 如上面这样的残差 下面构造两个统计量: 其中 n…

Spring 3 MVC异常处理程序

我遇到的大多数Spring 3错误处理示例代码似乎都提供了其用法的最简单概述,但是,有人说,如何处理错误比正常代码的工作方式更为重要。 前一天,当我在Spring(2)错误处理程序中遇到一个简单的GOTCHA时&#xf…

java编译找不到符号_javac编译时找不到符号?

我是个新手,在linux使用java编程时,出现这个情况。我把要引的包放在classpath中,红色部分:export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/hadoop-1.0.4.core.jar:${CLASSPATH}通过echo $CLASSP…

全备份、差异备份和增量备份概念详述

全备份、差异备份和增量备份概念详述 1、完全备份(Full Backup) 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份。换言之&#xff0…

微信接入登录功能access_token流程记录

提示:只有认证过的订阅号或者服务号才能获取access_token。 1.app微信登录第一步是,app调起来微信客户端,通过app端的配置,引入一个微信类库, 2.授权成功后,微信会返回你一个code。 将APP_ID替换成你在微信…

使用MVC模式制作游戏-教程和简介

游戏开发中一种有用的体系结构模式是MVC(模型视图控制器)模式。 它有助于分离输入逻辑,游戏逻辑和UI(渲染)。 在任何游戏开发项目的早期阶段,其实用性很快就会被注意到,因为它允许快速更改内容&…

boost

参考博客 http://www.cnblogs.com/lidabo/p/3805487.html http://www.cppblog.com/Robertxiao/archive/2013/01/06/197022.html http://www.cnblogs.com/finallyliuyu/archive/2013/05/23/3094246.html http://www.cnblogs.com/lidabo/p/3782193.html http://www.cnblogs.com/z…

moment格式换时间_不一样的日期、时间转换(moment.js)

无意中遇到了一种很奇怪的日期格式,从接口中返回的日期是这样的,如 2018-02-06T11:59:2208:00 。然而这却不是我们想要的,我们要的是这种,YYYY-MM-DD HH:mm:ss。那么这种是怎么转换的呢?这时候就可以使用一款很好用的日…

并发模式:生产者和消费者

在我15年的职业生涯中,生产者和消费者的问题是我仅遇到过几次。 在大多数编程情况下,我们正在做的事情是以同步方式执行功能,其中JVM或Web容器自行处理多线程的复杂性。 但是,在编写某些需要的用例时。 上周,我遇到了一…

POJ 1006 - Biorhythms (中国剩余定理)

B - BiorhythmsTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Practice POJ 1006Description 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中…