mysql ubuntu開啟外部連線 & 修改hosts & 防火牆開啟

摘要:mysql ubuntu開啟外部連線

參考網址網址2網址3

mysql 開放外部可連迫:

開啟防火牆

1. 新增防火牆規則
下面幾種是常用的規則新增方式,都可適用在 deny 和 allow 的操作上。
>>sudo ufw allow in 3306
sudo ufw allow ssh  ( 使用服務名稱來允許連入,服務名稱請參考 /etc/services 檔案 )
sudo ufw allow  in 8080   ( 使用 Port 號來允許連入 )
sudo ufw deny out 4662  ( 使用 Port 號來拒絕連出到別台電腦的指定 Port 號 )
sudo ufw deny in 4662/udp ( 使用 Port 號來拒絕接受指定 Port 號的 UDP 連入要求 )

 

2.设置远程访问

1.取消本地监听
正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监听需要修改 my.cnf 文件:

sudo vim /etc/mysql/my.cnf
//找到如下内容,并注释
bind-address = 127.0.0.1

然后需要重启 mysql (可最后再重启)。

2.授权法

mysql>GRANT ALL PRIVILEGES ON *.* TO <user>@"%" IDENTIFIED BY '<password>' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

 

3. 重啟

>> sudo reboot

 

 

 

 

改hosts

1. find -iname hosts

2.執行 sudo vi /etc/hosts

3.執行 sudo gedit /etc/hosts

   假設此次新主機名稱叫做  myNewHostName

   假設原本的hosts檔案內容如下

    127.0.0.1    localhost

    127.0.1.1    myOldHostName

  

    改為

    127.0.0.1    localhost

    127.0.1.1    myNewHostName

  

    如果你這台主機是用來當作伺服器的且有自己的網域與固定ip最好修改如下

    因為很多程式會用hosts抓取主機和網域名稱

    假設新主機名稱叫做  myNewServerHostName

            網域名稱叫做  mydomain.com.tw

            IP 為  192.168.0.100

 那麼請hosts修改成如下所示

    127.0.0.1    localhost

    192.168.0.100    myNewServerHostName myNewServerHostName.mydomain.com.tw

  

 

4.重開機

  sudo reboot

修改db設定

[编辑]安装MySQL

要安装 MySQL,可以在终端提示符后运行下列命令:

sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码
sudo apt-get install php5-mysql  #安装php5-mysql 是将php和mysql连接起来

一旦安装完成,MySQL 服务器应该自动启动。

sudo start mysql #手动的话这样启动
sudo stop mysql #手动停止

当你修改了配置文件後,你需要重启 mysqld 才能使这些修改生效。

要想检查 mysqld 进程是否已经开启,可以使用下面的命令:

pgrep mysqld

如果进程开启,这个命令将会返回该进程的 id。

[编辑]文件结构

MySQL配置文件:/etc/mysql/my.cnf ,其中指定了数据文件存放路径

datadir         = /var/lib/mysql

如果你创建了一个名为 test 的数据库,那么这个数据库的数据会存放到 /var/lib/mysql/test 目录下。

[编辑]进入MySQL

mysql -u root -p 

(输入mysql的root密码)

qii@ubuntu:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.1.41-3ubuntu12.3 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

修改 MySQL 的管理员密码:

sudo mysqladmin -u root password newpassword;

 

//切換至資料庫管理

use mysql;

[编辑]简单的操作

显示数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)