[SQL]環境轉換,從Mysql到Mariadb

原本沒有要這麼快轉換過來的
但是因為作業要用到SQL管理,又不想用M$SQL
Oracle不熟,既然喜歡弄網頁為什麼不用網頁用的環境來弄呢?
原本安裝的是Mysql,但是因為Mysql被買走之後開始走向閉源,所以四處找了一下
MongoDB、MariaDB......等各種資料庫
最後還是選跟Mysql系出同門的MariaDB,據說基本語法都一樣
不過轉換的過程一波三折呀


一開始先移除Mysql

sudo apt­get remove ­­purge mysql­server mysql­client mysql­common
sudo apt­get autoremove
sudo apt­get autoclean

安裝MariaDB

sudo apt­get update
sudo apt­get install mariadb­server

然後網路上其他大神就這麼成功啦!
連phpmyadmin也無縫接軌了
然後我遇到的問題是登入phpmyadmin的時候出現
1698無法登入Mysql伺服器
哇...怎麼辦,前天我從中午吃完飯一路弄到半夜三點還是沒弄好
好像還把筆電環境炸了...只好去還原然後去睡覺

昨天一樣又遇到一樣問題,在網路上請教了一下
他們說通常這樣代表帳號密碼打錯,但是我在安裝Mariadb的時候他沒問我root密碼呀!
查了一下說可以用
mysql_secure_installation
設定密碼,於是我做了密碼還是沒用
依然是預設的空白(mariadb預設是沒有密碼的)
後來又有人說
在機輸入 mysql -u root -p
看能不能登入
結果他顯示
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
看起來是root不被認可
查到兩份資料
這個人問題跟我一模一樣,但是我照做沒成功
這個問題部分不像但是看起來蠻有道理的
所以我就把他滲在一起做撒尿牛丸了,過程如下
sudo mysql //用root進到mysql,接下來的所有指令都是在mysql下喔!
use mysql //選擇資料庫這時候MariaDB [(none)]會變成MariaDB [mysql]

如果不這麼做等下會發生ERROR 1046 (3D000): No database selected)
UPDATE user SET Password=PASSWORD('輸入你 root 的新密碼') where USER='root';//重新寫入root密碼
GRANT all ON *.* TO root@'localhost' IDENTIFIED BY '輸入你 root 的密碼';//把所有資料庫和子資料表,授權給 root,從 localhost 上來
密碼要記得改呀!
這時候還是在mysql>底下喔!看起來會像這樣

mysql>FLUSH PRIVILEGES; //更新權限,更動密碼後一定要執行此行指令
mysql> quit //離開mysql,他會跟你說bye喔 XDDD

這時候進入一般使用者,不是root!輸入:
# mysql -uroot -p
接著輸入密碼,正常進入 MYSQL。
如此之後我的phpmyadmin也成功運作啦!

昨天弄到十點多終於弄好,在阿舍的網誌看到這句話
今天寫下來,明天就用得到
我覺得非常貼切,在自己摸索情況下常常會忘記當初做了什麼
就有記下來的必要

留言

  1. 相當感謝您提供的方法,將系統原本的Mysql轉移到Mariadb時,也遇到與您相似的情況。
    依照您上述的經驗方式,很快順利解決了phpmyadmin無法順利登入的問題。

    回覆刪除
  2. 能幫上你的忙真的很榮幸
    這篇有點久遠了,哈哈,現在已經不用Ubuntu了
    看自己的文章都忘記自己當初弄得這麼辛苦

    回覆刪除

張貼留言