前言:
安裝過(guò)程不再贅述,直接說(shuō)問(wèn)題,mysql的遠(yuǎn)程連接需要解決兩個(gè)問(wèn)題:1.允許root用戶(hù)遠(yuǎn)程連接。2.允許任意ip遠(yuǎn)程連接數(shù)據(jù)庫(kù)。當(dāng)然,在測(cè)試和解決問(wèn)題之前,得首先保證你的數(shù)據(jù)庫(kù)與遠(yuǎn)程主機(jī)之間的網(wǎng)絡(luò)通信沒(méi)有問(wèn)題,簡(jiǎn)單的來(lái)說(shuō),就是互相ping通,其次,為了避免防火墻的干擾,將本地主機(jī)和數(shù)據(jù)庫(kù)主機(jī)的防火墻都關(guān)閉,當(dāng)然,生產(chǎn)環(huán)境下防火墻肯定是要打開(kāi)的,并且需要額外的安全配置。
問(wèn)題解決:
1.新安裝的數(shù)據(jù)庫(kù)默認(rèn)是需要初始化的,在數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)的情況下,使用下面的命令來(lái)進(jìn)行初始化。
[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用戶(hù)配置遠(yuǎn)程登陸,這里需要選擇n,不選擇禁止root用戶(hù)遠(yuǎn)程登陸,別的選擇都無(wú)關(guān)緊要。
... 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 #完成初始化之后,重啟服務(wù)。
2.允許root用戶(hù)遠(yuǎn)程連接與允許任意ip遠(yuǎn)程連接數(shù)據(jù)庫(kù)都是可以通過(guò)在數(shù)據(jù)庫(kù)里執(zhí)行一條命令來(lái)實(shí)現(xiàn)的。
這里分為兩種情況:
1)新建admin用戶(hù)遠(yuǎn)程連接mysql數(shù)據(jù)庫(kù)(新建任意用戶(hù),以admin為例)
grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶(hù)和密碼(123456)來(lái)訪問(wèn)這個(gè)mysql server。
注意admin賬戶(hù)不一定要存在。
2)支持root用戶(hù)允許遠(yuǎn)程連接mysql數(shù)據(jù)庫(kù)
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
需要注意的是,為root用戶(hù)配置遠(yuǎn)程登陸,密碼需要和之前配置的密碼一致。
3.ubuntu系統(tǒng)的額外配置。
Ubuntu系統(tǒng)的my.cnf文件在vim /etc/mysql/mysql.conf.d/mysqld.cnf中,注釋掉其中的
bind-address = 127.0.0.1
centos系統(tǒng)的配置文件中默認(rèn)沒(méi)有該行。
檢查的辦法也很簡(jiǎn)單,在數(shù)據(jù)庫(kù)啟動(dòng)的前提下,使用netstat -an | grep 3306查看端口的連接信息。0.0.0.0則表示允許任意IP連接。

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