騰訊云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.pswp.cn/news/373397.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373397.shtml
英文地址,請注明出處:http://en.pswp.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天。每一個周期中…