轉載文章: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,就能正常登錄了。
