本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾。原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可以免费用6个月,所以就体验了一把,反正是免费嘛。最近也是到期了,反正自己也有服务器,就不必再单独开一个了,但是上面的数据还是要迁移过来的,好在上面的数据量也不是很大,因此也比较方便。
1.首先登陆阿里云RDS数据库的控制台,然后选择导出,选择好数据库确定就会提示你下载到本地,结构和数据包括存储过程都可以保存下来,然后用xftp工具放到服务器上。
2.登录阿里云的服务器,我的是Ubuntu 18.04,然后先输入service mysql start开启mysql服务,然后mysql -u root -p 输入密码进入mysql。首先创建一个要导入的数据库名字,我这边一个叫workload,一个叫clouddisk,是我自己原来做的两个项目,之前数据是放在阿里云的RDS数据库上,现在也可以创建两个相同名字的数据库方便查看,建好之后查看一下。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| clouddisk |
| mysql |
| performance_schema |
| sys |
| test |
| workload |
+--------------------+
rows in set (0.00 sec)
3.切换到你要导入的数据库,比如clouddisk。
mysql> use clouddisk;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
(这一行提示你可以在登录时通过 "mysql -u 用户名 -p 密码 -A" 的方式关闭数据库预读功能 当我们打开数据库,即use dbname 时,要预读数据库信息,当使用-A参数时,就不预读数据库信息。) Database changed
4.导入数据,命令为 source + 服务器上你存放的sql文件的位置。
mysql> source /root/sql/clouddisk.sql;
5.导入数据后查看数据是否完整,我这边因为有存储过程所以show procedure status查看一下存储过程,或者连接navicat后再查看。
mysql> show procedure status;
mysql> use clouddisk;
Database changed
mysql> show tables;
+---------------------+
| Tables_in_clouddisk |
+---------------------+
| t_account |
| t_fileinfo |
| t_filetype |
+---------------------+
rows in set (0.00 sec)
6.导入完毕后可以用本地的navicat连接一下服务器上的mysql,输入主机ip、用户名和密码后报错 1045 验证失败,因为我的用户名和密码都是新设的,所以不可能是错的,只可能是服务器的mysql没有开远程访问的权限。直接运行命令让所有ip都可以远程访问。
mysql> grant all privileges on *.* to 'root'@'%' identified by '密码';
7.成功访问后,可以在navicat下查看自己的数据和存储过程是否调用正常。