centos7使用MariaDB(轉)


轉載文章:https://blog.csdn.net/zwkkkk1/article/details/78444581?locationNum=10&fps=1

最近使用centos7,php nginx都采用編譯安裝,沒用到數據庫之前都用得好好的,今日想用的時候居然發現沒有mysql服務。而centos 7之后開始改用MariaDB。這是什么鬼?

大致了解了下:https://blog.csdn.net/H12KJGJ/article/details/79616761

反正就是為了防止mysql以后的完全閉源而設計的一種mysql的替代品。

目前一般centos7的新主機都是自帶MariaDB

安裝命令

yum -y install mariadb mariadb-server

啟動MariaDB

systemctl start mariadb

設置開機啟動

systemctl enable mariadb

設置密碼

mysqladmin -u root password 'root'

這樣mariaDB就能在本機運行了,接下來要做的是,能夠遠程連接。(https://blog.csdn.net/u013474104/article/details/78465697

1.直接修改表

命令行進入mysql,找到mysql數據庫下的user表

mysql >select user,host from user ;

會發現host並沒有支持所有(%)

執行命令:

mysql>update user set host='%' where user='root' ;

此時會報錯Duplicate entry '%-root' for key 'PRIMARY'

先忽略此錯誤,再次查看:

mysql >select user,host from user ;

發現已經有%:

2.授權法:

參考文章:https://blog.csdn.net/u013474104/article/details/78465697

 

最后別忘了:flush privileges。

這樣就可以通過navicat等連接數據庫了

 

NOTE:可能遇到的問題

 

遠程工具可連接上,在本地命令行mysql -uroot不用密碼就可以連接上,但是不具有root權限:

原因其實很簡單,mysql中一個用戶名為空的訪問本地權限的字段,所有登陸時優先匹配了這一條,就無法登陸了。

刪除mysql.user表中 user字段為空的數據即可,然后flush privileges,就能正常登錄了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM