欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

记录--linux下mysql数据库问题

程序员文章站 2022-03-28 12:22:02
本次主要记录一下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下查看自己的数据和存储过程是否调用正常。