前言:
安裝過程不再贅述,直接說問題,mysql的遠程連接需要解決兩個問題:1.允許root用戶遠程連接。2.允許任意ip遠程連接數據庫。當然,在測試和解決問題之前,得首先保證你的數據庫與遠程主機之間的網絡通信沒有問題,簡單的來說,就是互相ping通,其次,為了避免防火墻的干擾,將本地主機和數據庫主機的防火墻都關閉,當然,生產環境下防火墻肯定是要打開的,并且需要額外的安全配置。
問題解決:
1.新安裝的數據庫默認是需要初始化的,在數據庫服務啟動的情況下,使用下面的命令來進行初始化。
[root@localhost ~]# mysql_secure_installation
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n]
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n #如果是為root用戶配置遠程登陸,這里需要選擇n,不選擇禁止root用戶遠程登陸,別的選擇都無關緊要。
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n]
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n]
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB![root@localhost ~]# systemctl restart mariadb #完成初始化之后,重啟服務。
2.允許root用戶遠程連接與允許任意ip遠程連接數據庫都是可以通過在數據庫里執行一條命令來實現的。
這里分為兩種情況:
1)新建admin用戶遠程連接mysql數據庫(新建任意用戶,以admin為例)
grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。
注意admin賬戶不一定要存在。
2)支持root用戶允許遠程連接mysql數據庫
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
需要注意的是,為root用戶配置遠程登陸,密碼需要和之前配置的密碼一致。
3.ubuntu系統的額外配置。
Ubuntu系統的my.cnf文件在vim /etc/mysql/mysql.conf.d/mysqld.cnf中,注釋掉其中的
bind-address = 127.0.0.1
centos系統的配置文件中默認沒有該行。
檢查的辦法也很簡單,在數據庫啟動的前提下,使用netstat -an | grep 3306查看端口的連接信息。0.0.0.0則表示允許任意IP連接。

如圖所示則為允許任意IP連接。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 詳談MySQL和MariaDB區別與性能全面對比
- Linux下的 mariadb 使用 root 用戶啟動方式(推薦)
- Windows10系統下安裝MariaDB 的教程圖解
- MySQL/MariaDB的Root密碼重置教程
- Window7安裝MariaDB數據庫及系統初始化操作分析
- PHP+MariaDB數據庫操作基本技巧備忘總結
- 淺談MySQL和MariaDB區別(mariadb和mysql的性能比較)
- docker之創建MariaDB鏡像的方法