56、本地数据库迁移到阿里云

现有需求,本地数据库迁移到阿里云上。

复制代码
库名xy102

表 test01

test02

test01 test02

3条数据。

1、登录阿里云界面创建免费试用ECS实列。

复制代码
阿里云登录页 (aliyun.com)](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fusercenter2.aliyun.com%2Fhome%2Fmyfreetier)

2、选择2核4G,centos7.6,两台机器,然后设置账户密码,以及查看公网ip。

3、xshell客户端新建连接,ip地址为ECS实例的公网地址。

4、

复制代码
[root@mysql1 opt]# systemctl stop firewalld
[root@mysql1 opt]# setenforce 0

[root@mysql1 opt]# systemctl restart mysqld

[root@aliyun1 ~]# systemctl stop firewalld
[root@aliyun1 ~]# setenforce 0

5、通过scp用mysql进行传输数据压缩包

复制代码
[root@mysql1 opt]# scp mysql-8.0.30-el7-x86_64.tar.gz [email protected]:/opt/
The authenticity of host '8.149.247.173 (8.149.247.173)' can't be established.
ECDSA key fingerprint is SHA256:sJmF545LYGbyN6MrAoU/CpP9Wa0wrFxcnDlQ4h5RJvo.
ECDSA key fingerprint is MD5:c8:7d:d7:dd:54:4e:e0:a4:1b:7a:0b:f0:eb:7e:fa:c0.
Are you sure you want to continue connecting (yes/no)? yes

[email protected]'s password: 
mysql-8.0.30-el7-x86_64.tar.gz     100%  470MB   4.1MB/s   01:54   

6、创建数据库xy102,以及test1、test2表

复制代码
create database xy102;

CREATE TABLE test01(
id int(3),
name char(5),
address varchar(10)
);

INSERT into test01 values(1,'ly1','nanjing');
INSERT into test01 values(2,'ly2','nanjing');
INSERT into test01 values(3,'ly3','nanjing');

CREATE TABLE test02(
id int(3),
name char(5),
address varchar(10)
);
INSERT into test02 values(1,'ly1','chuzhou');
INSERT into test02 values(2,'ly2','chuzhou');
INSERT into test02 values(3,'ly3','chuzhou');

7、备份数据库xy102.sql到/opt目录下

mysqldump -u root -p --databases xy102 > /opt/xy102.sql

8、阿里云主机安装mysql数据库

复制代码
[root@aliyun1 /]# cd /opt/
[root@aliyun1 opt]# ls
mysql-8.0.30-el7-x86_64.tar.gz

tar -xf mysql-8.0.30-el7-x86_64.tar.gz 

 mv mysql-8.0.30-el7-x86_64 mysql

mv mysql /usr/local/

#创建程序用户管理
useradd -s /sbin/nologin mysql

#修改mysql目录和配置文件的权限
 chown -R mysql:mysql /usr/local/mysql/
[root@mysql1 mysql]# chown mysql:mysql /etc/my.cnf

#修改配置文件
 vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION



#设置环境变量,申明/宣告mysql命令便于系统识别
 echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
 source /etc/profile

#初始化数据库:
 cd /usr/local/mysql/bin/
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

报错:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决办法:

原因分析:

服务器上面没有安装libiao这个包,需要我们去下载一下就好了

yum -y install libaio

./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#设置系统识别,进行操作:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
 systemctl daemon-reload
ystemctl restart mysqld

#初始化数据库密码:
mysqladmin -u root -p password "123456"
直接回车即可

#进入数据库:
mysql -u root -p123456
#创建用户并设置密码:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)

#赋予远程连接的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.00 sec)

#刷新生效
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

#修改加密方式,可以进行远程连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

9、传送xy102数据库到阿里云主机上

复制代码
scp xy102.sql [email protected]:/opt/
[email protected]'s password: 
xy102.sql                          100% 2769    97.1KB/s   00:00 

10、热备份恢复数据库到阿里云主机上

复制代码
cd /opt/
[root@aliyun1 opt]# ls
mysql-8.0.30-el7-x86_64.tar.gz  xy102.sql
[root@aliyun1 opt]# mysql -u root -p < /opt/xy102.sql
Enter password: 
[root@aliyun1 opt]# mysql -u root -p123456
use xy102;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------+
| Tables_in_xy102 |
+-----------------+
| test01          |
| test02          |
+-----------------+
2 rows in set (0.01 sec)

mysql> select *from  test01;
+------+------+---------+
| id   | name | address |
+------+------+---------+
|    1 | ly1  | nanjing |
|    2 | ly2  | nanjing |
|    3 | ly3  | nanjing |
+------+------+---------+
3 rows in set (0.00 sec)

mysql> select * from  test02;
+------+------+---------+
| id   | name | address |
+------+------+---------+
|    1 | ly1  | chuzhou |
|    2 | ly2  | chuzhou |
|    3 | ly3  | chuzhou |
+------+------+---------+
3 rows in set (0.00 sec)

解决navicat连接问题

相关推荐
行云流水行云流水23 分钟前
数据库、数据仓库、数据中台、数据湖相关概念
数据库·数据仓库
John Song25 分钟前
Redis 集群批量删除key报错 CROSSSLOT Keys in request don‘t hash to the same slot
数据库·redis·哈希算法
过河不拆乔29 分钟前
AWS 公开数据集下载与操作说明
学习·云计算·aws
IvanCodes39 分钟前
七、Sqoop Job:简化与自动化数据迁移任务及免密执行
大数据·数据库·hadoop·sqoop
tonexuan1 小时前
MySQL 8.0 绿色版安装和配置过程
数据库·mysql
JohnYan1 小时前
工作笔记- 记一次MySQL数据移植表空间错误排除
数据库·后端·mysql
AWS官方合作商1 小时前
Amazon RDS on AWS Outposts:解锁本地化云数据库的混合云新体验
云原生·云计算·aws
我最厉害。,。1 小时前
Windows权限提升篇&数据库篇&MYSQL&MSSQL&ORACLE&自动化项目
数据库·mysql·sqlserver
远方16092 小时前
20-Oracle 23 ai free Database Sharding-特性验证
数据库·人工智能·oracle
kaede2 小时前
Linux实现线程同步的方式有哪些?
linux·运维·云计算