linux迁移mysql数据库,Linux 下安装MySQL并迁移备份

简单记录下在centOS上安装MySQL(MariaDB)的过程。

这里我并没有选择特定的MySQL版本,使用的是源默认提供的版本。

1. 执行安装命令:

执行如下指令安装MySQL数据库。

Shell

yum install -y mysql mysql-server

1

yuminstall-ymysqlmysql-server

注意这里同时安装了mysql和mysql-server。

在输出一长串信息后,期间可能会需要输入y表示确认,MySQL就安装好了。

安装结束后还需要手动启动MySQL。

2. 启动MySQL

执行如下指令启动MySQL。

Shell

systemctl start mysqld.service

1

systemctlstartmysqld.service

启动MySQL后会输出日志到/var/log/mysql/mysql.log。

在日志中可以看到下面这一句:

root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

1

root@localhostiscreatedwithanemptypassword!Pleaseconsiderswitchingoffthe--initialize-insecureoption.

日志提示mysql root用户的初始密码是空的。据说有的时候会生成一个随机密码写入到日志中,但这次安装明显不是这样的。

另外在日志中也可以看到mysql的版本是8.0.17:

/usr/libexec/mysqld: ready for connections. Version: '8.0.17'

1

/usr/libexec/mysqld:readyforconnections.Version:'8.0.17'

然后,执行如下指令,设置MySQL数据库开机启动

Shell

systemctl enable mysqld.service

1

systemctlenablemysqld.service

3. 设置root用户密码

执行如下命令设置root用户密码:

Shell

mysqladmin -u root password

1

mysqladmin-urootpassword

执行命令后会提示输入密码并确认。

4. 修改数据库时区

执行如下命令后输入密码进入MySQL数据库:

Shell

mysql -uroot -p

1

mysql-uroot-p

切换到目标数据库:

MySQL

use myDB;

1

usemyDB;

查看数据库时间:

MySQL

mysql> select current_timestamp;

+---------------------+

| current_timestamp |

+---------------------+

| 2020-03-15 04:07:57 |

+---------------------+

1 row in set (0.00 sec)

1

2

3

4

5

6

7

mysql>selectcurrent_timestamp;

+---------------------+

|current_timestamp|

+---------------------+

|2020-03-1504:07:57|

+---------------------+

1rowinset(0.00sec)

查看时区设置:

Shell

mysql> show variables like '%time_zone%';

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | EDT |

| time_zone | SYSTEM |

+------------------+--------+

2 rows in set (0.00 sec)

1

2

3

4

5

6

7

8

mysql>showvariableslike'%time_zone%';

+------------------+--------+

|Variable_name|Value|

+------------------+--------+

|system_time_zone|EDT|

|time_zone|SYSTEM|

+------------------+--------+

2rowsinset(0.00sec)

system_time_zone 表示系统使用的时区是EDT即北美的东部夏令时(-4h)。

time_zone 表示 MySQL 采用的是系统的时区。

之前以为如果在安装MySQL就通过tzselect并在profile中修改了时区设置会起到作用,后来测试发现是无效的。 ╮(╯▽╰)╭

临时修改时区执行如下指令:

MySQL

-- 仅修改当前会话的时区,停止会话失效

set time_zone = '+8:00';

-- 修改全局的时区配置

set global time_zone = '+8:00';

flush privileges;

1

2

3

4

5

6

-- 仅修改当前会话的时区,停止会话失效

settime_zone='+8:00';

-- 修改全局的时区配置

set globaltime_zone='+8:00';

flushprivileges;

永久修改时区需要修改mysql配置文件。执行如下指令打开MySQL配置文件:

Shell

vim /etc/my.cnf.d/mysql-server.cnf

1

vim/etc/my.cnf.d/mysql-server.cnf

在条目[mysqld]下添加时区配置信息:

default-time_zone='+8:00'

1

default-time_zone='+8:00'

当然直接编辑/etc/my.cnf也不是不行,不过讲究点儿还是好的。

重启MySQL服务:

Shell

service mysqld restart

1

servicemysqldrestart

再看时间会看到时区修改成功。

5. 创建用户并授权

为MySQL数据库添加一个新用户zhyea,并将密码设置为zhyPass,指令如下:

MySQL

create user 'zhyea'@'127.0.0.1' identified by 'zhyPass';

1

create user'zhyea'@'127.0.0.1'identified by'zhyPass';

授予用户zhyea对数据库chobit的所有权限:

MySQL

grant all on chobit.* to 'zhyea'@'127.0.0.1';

1

grantallonchobit.*to'zhyea'@'127.0.0.1';

6. 数据备份

如需要执行数据迁移,先回到原数据库服务器上,进入MySQL命令行,执行如下命令完成数据备份:

Shell

mysqldump -uzhyea -pzhyPass chobit > /root/zhyea/zhy.sql

1

mysqldump-uzhyea-pzhyPasschobit>/root/zhyea/zhy.sql

用户为zhyea;密码为zhyPass;目标数据库 chobit。备份文件存储到了/root/zhyea/zhy.sql这个位置。

下载备份文件zhy.sql。

7. 数据迁移

将备份的sql文件 zhy.sql 挪到现服务器上。可以考虑使用rz指令上传数据文件,如未安装该工具可以用如下指令安装:

Shell

yum install -y lrzsz

1

yuminstall-ylrzsz

进入MySQL命令行,切换到目标数据库,执行如下命令完成数据迁移:

Shell

source /path-to-zhy/zhy.sql

1

source/path-to-zhy/zhy.sql

8. 删除已安装的版本

执行如下指令:

Shell

yum remove mysql*

1

yumremovemysql*

一切搞定。

End!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux下进行MySQL数据库迁移,可以按照以下步骤进行: 1.备份数据库:使用mysqldump命令备份数据库,将备份文件保存到本地或其他服务器上。 2.安装数据库:在目标服务器上安装MySQL数据库,并创建新的数据库。 3.将备份文件导入新数据库:使用mysql命令将备份文件导入新数据库中。 4.修改配置文件:修改新数据库的配置文件,包括数据库名称、用户名、密码等信息。 5.测试新数据库:使用mysql命令连接新数据库,并测试是否能够正常访问和操作。 6.删除原数据库:如果需要,可以在迁移完成后删除原数据库。 需要注意的是,在进行数据库迁移时,要确保原数据库和新数据库的版本兼容性,并且在迁移过程中要保证数据的完整性和安全性。 ### 回答2: 在Linux系统下进行MySQL数据库迁移,需要考虑以下几个方面: 1. 数据库备份MySQL迁移前,首先需要备份原有的数据库。可以使用mysqldump命令将数据库导出为.sql文件,该文件包含了所有的数据和表结构。备份命令示例: ```bash mysqldump -u root -p old_database > old_database.sql ``` 其中,`-u`参数是MySQL登录用户,`-p`参数是MySQL登录密码,`old_database`是需要备份数据库名,`> old_database.sql`是将备份文件输出到指定文件中。 2. 安装新的MySQL 如果迁移到新的服务器上,需要安装新的MySQL,并确保MySQL的版本和原服务器上的MySQL版本相同或更高。 3. 将备份文件导入到新的MySQL中 使用mysql命令将备份文件导入到新的MySQL中,命令示例: ```bash mysql -u root -p new_database < old_database.sql ``` 其中,`new_database`是新数据库的名字。 4. 修改配置文件 新的MySQL可能会与原数据库不同,需要对新的MySQL进行相应的配置,包括端口、IP地址等。 5. 测试数据 在迁移完成后,需要进行测试以确保数据完整性和应用程序的正常运行。可以对应用程序进行测试,或者使用MySQL命令检查数据是否正确导入到新的MySQL中。 总之,在进行MySQL数据库迁移前,需要进行充分的备份并测试数据库的完整性和应用程序的正常运行。同时,需要针对新的MySQL进行相应的配置。 ### 回答3: 在Linux下进行MySQL数据库迁移分为两个方面:备份和恢复。备份和恢复分别是指将原有的MySQL数据库备份到新的机器上以及将备份数据恢复到新机器中。 备份方面,我们可以使用mysqldump指令来完成备份,该指令可以将MySQL数据库备份成SQL脚本,通过该脚本可以将数据恢复到新机器上。具体操作步骤如下: 1.使用mysqldump指令备份MySQL数据库mysqldump -u root -p database_name > database_name_backup.sql 其中,root为MySQL的用户名,database_name为要备份数据库名称,>表示将备份结果定向到一个sql文件中。 2.复制备份文件到新机器上: 将备份文件拷贝到新机器上,可以使用scp指令或者FTP等传输工具。 3.在新机器上创建原数据库: 创建空的MySQL数据库mysql -u root -p -e 'create database database_name' 其中,database_name为要创建的数据库名称。 4.将备份数据恢复到新机器: mysql -u root -p database_name < database_name_backup.sql 其中,<表示将备份文件贴入恢复指令中,从而将备份文件中的数据库信息恢复到新的MySQL数据库中。 需要注意的是,在进行MySQL数据库迁移的时候,需要保证MySQL的版本一致,并且在备份和恢复过程中,需要保证备份文件完整,不能出现文件损坏的情况。另外,在进行数据迁移的过程中,需要保证迁移前已经备份好了数据,以防数据出现丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值