首页 > 代码库 > ubuntu 下 mysql数据库的搭建 及 数据迁移

ubuntu 下 mysql数据库的搭建 及 数据迁移

1、mysql的安装

我是使用apt-get直接安装的 :sudo apt-get install mysql-server

   sudo apt-get install mysql-client

 

2、配置mysql管理员密码

sudo mysqladmin -u root 当前密码 新密码

安装的时候貌似也没遇到什么障碍

 

3、查看mysql的状态

sudo netstat -tap | grep mysql

 

4、启动/停止/重启mysql

sudo  /etc/init.d/mysql start

sudo  /etc/init.d/mysql stop

sudo  /etc/init.d/mysql restart

操作之后 某些版本会提示可以使用 sudo  /etc/init.d/start mysql

 

5、登录mysql server

mysql -u root -p

会提示输入密码(ENTER PASSWORD:)

 

6、远程登录mysql

mysql 主机名 -u root -p

 

7、退出mysql server

mysql> ctrl c

 

8、查看版本信息

mysql>s即\s

 

9、查看帮助

mysql>help

 

10、查看该mysql的版本 和 server的当前日期

全加上“\”

mysql>select version().current_date

 

11、如果你遇到文件权限问题,例如:权限为root 而你的用户名为zhangsan,可以使用以下代码更改权限:

sudo chown username target

sudo chgrp username target

 

如果是文件夹而里面的文件也是被权限控制的 可以使用sudo chown/chgrp -r username target

当然 可以使用:sudo chmod u+x target 将只读更改为读写

注:username(zhangsan)  target(目标文件或者文件夹的相对路径)

 

12、现在已经安装配置好了mysql client及mysql server(如果安装过程依然有问题的,可以搜索大神们的方案,强烈推荐我们强大的 www.iteye.com)

现在进行数据迁移。

因为这次我是将远程服务器上的数据库迁移到本地,作为内部测试开发使用,所以我选择使用mysqldump这个工具。

 

13、连接、登录远程服务端

ssh 服务器名称@具体ip地址(例如:202.108.22.5

ENTER PASSWORD:XXXXXXX

接着输入:sudo mysql -u root -p

接着再次输入远程数据库登录密码,至于上面那个root  也有可能是其他username

 

14、操作远程服务端

mysql>show databases;

mysql>use 具体数据库名称;

mysql>show tables;

mysql>desc 具体表名称;

mysql>select * from 具体表名称;

操作远程服务端,主要是为了使用户确定需要迁移的数据库

 

15、远端数据库迁出(导出)

网上一般有四种方法介绍数据库迁移的,我个人觉得还是使用mysqldump最直接 最方便 最效率

mysqldump工具主要是进行备份 和 回复 即 导出 与 导入

shell:mysqldump -u root -p 数据库密码 数据库名称 > 具体备份路径

例如:mysqldump -u root -p 123456  studentdata  > home/root/studentdatabak.sql

 

16、本地数据库迁入(导入)

在本地系统中,两种方法。我觉得第二种更好。

方法一:

shell:mysql -u root -p

mysql>show databases;

mysql>CREATE DATABASENAME(即目标数据库,一般需要新建);

mysql>use DATABASENAME;

mysql>source 具体文件路径(即studentdatabak.sql);

 

方法二:

shell:mysql -u root -p

mysql>show databases;

mysql>CREATE DATABASENAME(即目标数据库,一般需要新建);

注意:新开一个终端

shell:mysqldump -u root -p 123456  studentdata < home/root/studentdatabak.sql

 

到此 就完成了远程 mysql数据库的迁移

 

 

上文完成了整个数据库的迁移,但是在数据库完整迁移之后,仍需要继续配置。因为远程服务端的ip变为了本地的ip。

下面,我们进行ip的具体配置。

 

1、首先,我们需要查看本地默认的3306端口是否开启。

shell: netstat -nat

显示如下:

 

Proto   Recv-Q    Send-Q   Local Address   Foreign Address     State

tcp          0            0           127.0.0.1          0.0.0.0:* LISTEN

 

因此,我们需要修改 etc/mysql下 my.cnf文件

找到 bind.address

将127.0.0.1  修改为本地ip地址,例如:192.168.0.100

当然,有可能my.cnf文件无法直接修改  请换到root权限进行修改

 

2、本地数据库的开启,大致如上文

ubuntu 下 mysql数据库的搭建 及 数据迁移(上)  所示,在此不赘述!

 

3、赋予项目对本地数据库的访问权限

mysql>grant all on *.* to user_name(即jdbc里面的username)@‘%‘ identified by ‘user_password‘(即jdbc里面的password);

被赋予权限的username 和 password  将能访问mysql中的任意database和table

 

4、更改项目配置文件

有的配置在hibernate文件中,有的配置在spring中,也有配置在其他地方的。

更改其为 jdbc:mysql://192.168.0.100

 

ok,搞定了!!  

转载请标明:

        http://fox-leon.iteye.com/blog/1313072 《

ubuntu 下 mysql数据库的搭建 及 数据迁移(上)

http://fox-leon.iteye.com/blog/1313081《

ubuntu 下 mysql数据库的搭建 及 数据迁移(下)

 

ps:如果数据库数据出现了中文乱码问题,找到  etc/mysql/my.cnf 中的 client  

并添加:default-character-set=utf8

 

my.cnf文件在windows下是  my.ini