本次主要記錄一下linux下mysql資料庫的一些問題,也是之前經常用到的知識,這裡簡單總結一些問題,方便自己以後的回顧。原來一直使用的是阿裡雲的RDS資料庫mysql版,主要是因為上次阿裡雲做活動可以免費用6個月,所以就體驗了一把,反正是免費嘛。最近也是到期了,反正自己也有伺服器,就不必再單獨開一 ...
本次主要記錄一下linux下mysql資料庫的一些問題,也是之前經常用到的知識,這裡簡單總結一些問題,方便自己以後的回顧。原來一直使用的是阿裡雲的RDS資料庫mysql版,主要是因為上次阿裡雲做活動可以免費用6個月,所以就體驗了一把,反正是免費嘛。最近也是到期了,反正自己也有伺服器,就不必再單獨開一個了,但是上面的數據還是要遷移過來的,好在上面的數據量也不是很大,因此也比較方便。
1.首先登陸阿裡雲RDS資料庫的控制台,然後選擇導出,選擇好資料庫確定就會提示你下載到本地,結構和數據包括存儲過程都可以保存下來,然後用xftp工具放到伺服器上。
2.登錄阿裡雲的伺服器,我的是Ubuntu 18.04,然後先輸入service mysql start開啟mysql服務,然後mysql -u root -p 輸入密碼進入mysql。首先創建一個要導入的資料庫名字,我這邊一個叫workload,一個叫clouddisk,是我自己原來做的兩個項目,之前數據是放在阿裡雲的RDS資料庫上,現在也可以創建兩個相同名字的資料庫方便查看,建好之後查看一下。
1 mysql> show databases; 2 +--------------------+ 3 | Database | 4 +--------------------+ 5 | information_schema | 6 | clouddisk | 7 | mysql | 8 | performance_schema | 9 | sys | 10 | test | 11 | workload | 12 +--------------------+ 13 7 rows in set (0.00 sec)
3.切換到你要導入的資料庫,比如clouddisk。
1 mysql> use clouddisk; 2 Reading table information for completion of table and column names 3 You can turn off this feature to get a quicker startup with -A
(這一行提示你可以在登錄時通過 "mysql -u 用戶名 -p 密碼 -A" 的方式關閉資料庫預讀功能 當我們打開資料庫,即use dbname 時,要預讀資料庫信息,當使用-A參數時,就不預讀資料庫信息。) 4 5 Database changed
4.導入數據,命令為 source + 伺服器上你存放的sql文件的位置。
1 mysql> source /root/sql/clouddisk.sql;
5.導入數據後查看數據是否完整,我這邊因為有存儲過程所以show procedure status查看一下存儲過程,或者連接navicat後再查看。
1 mysql> show procedure status; 2 mysql> use clouddisk; 3 Database changed 4 mysql> show tables; 5 +---------------------+ 6 | Tables_in_clouddisk | 7 +---------------------+ 8 | t_account | 9 | t_fileinfo | 10 | t_filetype | 11 +---------------------+ 12 3 rows in set (0.00 sec)
6.導入完畢後可以用本地的navicat連接一下伺服器上的mysql,輸入主機ip、用戶名和密碼後報錯 1045 驗證失敗,因為我的用戶名和密碼都是新設的,所以不可能是錯的,只可能是伺服器的mysql沒有開遠程訪問的許可權。直接運行命令讓所有ip都可以遠程訪問。
1 mysql> grant all privileges on *.* to 'root'@'%' identified by '密碼';
7.成功訪問後,可以在navicat下查看自己的數據和存儲過程是否調用正常。