摘要: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)