**remote access**
默認mysql的用戶是沒有遠程訪問的權限的,因此當程序跟數據庫不在同一臺服務器上時,我們需要開啟mysql的遠程訪問權限。
MySQL開啟遠程訪問
方法1. 修改配置文件
~~~
#需要root權限,配置文件是只讀的
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#往下翻,注釋掉這一行,保存退出
# bind-address = 127.0.0.1
#重啟服務
$ service mysql restart;
~~~
方法2. 授權法(修改用戶權限)。
修改mysql庫的user表,將host項,從localhost改為%。%這里表示的是允許任意host訪問,如果只允許某一個ip訪問,則可改為相應的ip,比如可以將localhost改為192.168.1.123,這表示只允許局域網的192.168.1.123這個ip遠程訪問mysql。
~~~
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
#允許所有用戶遠程訪問,修改用戶名和密碼為你自己的
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
#允許單個ip 修改用戶名和密碼為你自己的
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'192.168.1.123' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
#刷新權限
mysql> FLUSH PRIVILEGES;
#重啟服務
$ service mysqld restart
~~~
>[info]注:將host字段的值改為%就表示在任何客戶端機器上能以root用戶登錄到mysql服務器,建議在開發時設為%。
>~~~
>update user set host = ’%’ where user = ’root’;
>~~~
>這樣機器就可以以用戶名root及其密碼遠程訪問該機器上的MySql.
如果執行完以上步驟,還是不能遠程連接,那么我們需要查看服務器的防火墻是否開啟
~~~
$ service iptables status
~~~
如果防火墻開啟,請關閉
~~~
$ service iptables stop
~~~
或者**防火墻開放3306端口**
1、打開防火墻配置文件
~~~
$ vim /etc/sysconfig/iptables
~~~
2、增加下面一行
~~~
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
~~~
3、重啟防火墻
~~~
$ service iptables restart
~~~
注意:增加的開放3306端口的語句一定要在icmp-host-prohibited之前
到此就可以遠程連接了!
- WebAPP
- Linux Command
- 入門
- 處理文件
- 查找文件單詞
- 環境
- 聯網
- Linux
- Linux目錄配置標準:FHS
- Linux文件與目錄管理
- Linux賬號管理與ACL權限設置
- Linux系統資源查看
- 軟件包管理
- Bash
- Daemon/Systemd
- ftp
- Apache
- MySQL
- Command
- Replication
- mysqld
- remote access
- remark
- 限制
- PHP
- String
- Array
- Function
- Class
- File
- JAVA
- Protocals
- http
- mqtt
- IDE
- phpDesigner
- eclipse
- vscode
- Notepad++
- WebAPI
- Javasript
- DOM
- BOM
- Event
- Class
- Module
- Ajax
- Fetch
- Promise
- async/await
- Statements and declarations
- Function
- Framwork
- jQurey
- Types
- Promise
- BootStrap
- v4
- ThinkPHP5
- install
- 定時任務
- CodeIgniter
- React.js
- node.js
- npm
- npm-commands
- npm-folder
- package.json
- Docker and private modules
- module
- webpack.js
- install
- configuration
- package.json
- entry
- modules
- plugins
- Code Splitting
- loaders
- libs
- API
- webpack-cli
- Vue.js
- install
- Compile
- VueAPI
- vuex
- vue-router
- vue-devtools
- vue-cli
- vue-loader
- VDOM
- vue-instance
- components
- template
- Single-File Components
- props
- data
- methods
- computed
- watch
- Event-handling
- Render Func
- remark
- 案例學習
- bootstrap-vue
- modal
- fontAwesome
- Hosting Font Awesome Yourself
- using with jquery
- using with Vue.js
- HTML
- CSS
- plugins
- Chart.js
- D3.js
- phpSpreadSheet
- Guzzle
- Cmder
- Git
- git命令
- git流程
- Postman
- Markdown
- Regular Expressions
- PowerDesigner
- 附錄1-學習資源