Linux下一次数据仓库进行迁移记录
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52768613
前言:数据库每天的数据不断增多,自动删除机制总体风险太大,想保留更多历史性的数据供查询,于是从小的hbase换到大的hbase上,势在必行。今天记录下这次数据仓库迁移。看下Agenda:
- 彻底卸载MySQL
- 安装MySQL
- MySQL数据库的初始化及相关配置
- 存储数据目录修改
- 客户端连接又来问题(中间过程)
- 小总结
彻底卸载MySQL
yum方式安装的MySQL
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql相关:
rpm -qa|grep mysql
rpm方式安装的MySQL
- 查看系统中是否以rpm包安装的mysql:
[root@itv-h5-web-online001-sjhl ~]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
- 卸载mysql
[root@itv-h5-web-online001-sjhl ~]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@itv-h5-web-online001-sjhl ~]# rpm -e MySQL-client-5.6.17-1.el6.i686
- 删除mysql服务
[root@itv-h5-web-online001-sjhl ~]# chkconfig --list | grep -i mysql
[root@itv-h5-web-online001-sjhl ~]# chkconfig --del mysql
- 删除分散mysql文件夹
[root@itv-h5-web-online001-sjhl ~]# whereis mysql 或者 find / -name mysql
mysql: /usr/lib/mysql /usr/share/mysql
清空相关mysql的所有目录以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
rm -rf /usr/my.cnf
通过以上几步,mysql应该已经完全卸载干净了。
安装MySQL
通过yum来进行mysql的安装
我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:
[root@itv-h5-web-online001-sjhl ~]# yum list | grep mysql
就可以得到yum服务器上mysql数据库的可下载版本信息:
然后我们可以通过输入
yum install -y mysql-server mysql mysql-devel
命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)
[root@itv-h5-web-online001-sjhl ~]# yum install -y mysql-server mysql mysql-deve
在等待了一番时间后,yum会帮我们选择好安装mysql数据库所需要的软件以及其它附属的一些软件
我们发现,通过yum方式安装mysql数据库省去了很多没必要的麻烦,当出现下面的结果时,就代表mysql数据库差不多安装成功了。
此时我们可以通过如下命令,查看刚安装好的mysql-server的版本
[root@itv-h5-web-online001-sjhl ~]# rpm -qi mysql-server
我们安装的mysql-server并不是最新版本,如果你想尝试最新版本,那就去mysql官网下载rpm包安装(不过还是不建议安装最新的,可能有各种未知的问题),至此我们的mysql数据库已经安装完成了。
MySQL数据库的初始化及相关配置
我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。
注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:
[root@itv-h5-web-online001-sjhl ~]# service mysqld start
然而问题来了:Starting mysqld : [Failed]
然后看了下log是说:Do you already have another mysqld server running on port: 3306?
是说是不是有mysqld 占用了3306端口,明明已卸载了。。
接着看下端口的状态:
检查mysql 的端口号
[root@itv-h5-web-online001-sjhl ~]# netstat -a -t -n|grep 3306
[root@itv-h5-web-online001-sjhl ~]# netstat -nltp|grep mysql
把服务停掉:
[root@itv-h5-web-online001-sjhl ~]# service mysqld stop
接着查下是否有mysqld进程在
[root@itv-h5-web-online001-sjhl ~]# ps -ef|grep mysqld
果然在占了3306端口,只有kill这个,重新start,就应该没问题了。
最后用命令:
[root@itv-h5-web-online001-sjhl ~]# /etc/inint.d/mysqld start
来启动mysql服务,这时就正常了。
mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :/usr/bin/mysqladmin -u root password ‘new-password’ // 为root账号设置密码
所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号)
[root@itv-h5-web-online001-sjhl ~]# mysqladmin -u root password '123456'
此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库
存储数据目录修改
由于默认mysql装的分区盘空间很小,需要修改对应存储数据文件路径,找到/etc/mycnf中,用vim打开,对应修改,datadir就是要修改的目标,socket本想一快改了的,发现改了后,不能登录mysql了,应该还有一配置文件未改,于是暂时放弃了。
用命令
/etc/init.d/mysqld restart
进行重启mysql服务,即可生效(ps:一定要事先把mysql服务先停掉,再修改以上文件)
客户端连接又来问题
当以为上面大功告吉的了的时候,用mysql可视化工具支连接,发现又报如下错误:
原因是未对远程客户端口进行授权,接着开始授权:
以下是一些可选方案:
- 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.6' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.6' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这下才是大功告成!!!!
小总结
最后总结三条:
- 先在目标机器上安装好环境。如mysql
- 进行数据配置,并且测试能通过访问
- 数据迁移,原有机器上打包copy到新机器上。
附上一些常用MySQL启动、停止、重启常用命令:
启动
1、使用 service 启动:
service mysqld start (5.0版本是mysqld)
service mysql start (5.5.7版本是mysql)
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:
safe_mysqld&
停止
1、使用 service 启动:
service mysqld stop
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop
重启
1、使用 service 启动:
service mysqld restart
service mysql restart (5.5.7版本命令)
2、使用 mysqld 脚本启动:
/etc/init.d/mysqld restart
第一时间获得博客更新提醒,以及更多android干货,源码分析,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码,即可关注。
如果你觉得好,随手点赞,也是对笔者的肯定,也可以分享此公众号给你更多的人,原创不易
Linux下一次数据仓库进行迁移记录的更多相关文章
- vsftp迁移记录笔记
由于之前的服务器用的window下的ftp安全性和稳定性都不好,所以我们才把ftp迁移到linux环境下 vsftp概述: vsftpd 它可以运行在多平台系统上面,是一个完全免费的.开放源代码的f ...
- Linux下一次删除百万文件
Linux下一次删除百万文件 线上环境遇到的一个问题,文件数量过多,执行rm命令报错 # rm -f ./* -bash: /bin/rm: Argument list too long 根据报错检查 ...
- 如何更方便的查看Linux内核代码的更新记录【转】
转自:http://blog.csdn.net/lee244868149/article/details/44302819 Linux内核的更新非常的快,如何快速的了解这些更新呢?最一般的办法就是把新 ...
- Linux GPIO键盘驱动开发记录_OMAPL138
Linux GPIO键盘驱动开发记录_OMAPL138 Linux基本配置完毕了,这几天开始着手Linux驱动的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些.看了一下Linux3. ...
- Linux踩坑填坑记录
Linux踩坑填坑记录 yum安装失败[Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.aliyun.com'" ...
- Linux 上从 MySQL 迁移到 MariaDB 的简单步骤
大家好!这是一篇介绍如何在服务器或个人电脑上从MySQL迁移到MariaDB的教程.也许你会问为什么我们要将数据库管理从MySQL迁移到MariaDB.往下看我们告诉你为什么这样做.为什么要用Mari ...
- linux .net mono方案测试记录与报告(一)
第一阶段 linux .net 方案测试 硬件为4核8线程的笔记本i7-4710mq 分配了4个线程 情况下 1.方案一 nginx+fastcgi-mono-server4方式 性能为每秒处理140 ...
- cmd&Linux 下使用mysql全记录
php mysql数据库常用cmd命令集 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...
- 自己用到的相关Linux命令,谨以记录
1.查看磁盘使用情况 df -h(方便看些) df -l(字节大小,不方便看) 2.查看根目录下文件/文件夹大小 du -sh /*(/*表示根目录下所有文件) 3.查看文件列表时显示文件大小 ll ...
随机推荐
- pyqt5 动画学习(三) 指定控件的移动轨迹
这一篇来讲解自定义控件的移动轨迹 原理:我们采用QPainterPath先画一个弧线,然后加载一个物体让物体移动,设置100个关键帧,每个关键帧物体的坐标位置就是弧线的坐标位置,这样就能达到按照指定轨 ...
- [Codeforces]856C - Eleventh Birthday
题目大意:给出n个数,问有多少种排列把数字接起来是11的倍数.(n<=2000) 做法:一个数后面接一个数等同于乘上10的若干次幂然后加上这个数,10模11等于-1,所以10的若干次幂是-1或1 ...
- ●BZOJ 2337 [HNOI2011]XOR和路径
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2337题解: 概率dp, 因为异或的每一位之间没有关系,我们就依次考虑每一位k.(即边权要么为 ...
- [CEOI2008]order
Description 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成. 现在给出这些参数,求最大利润 Solu ...
- C++Primer学习——各种运算符
前缀递增和后缀递增 class NewInt { public: NewInt():RootInt(0){}; NewInt(int IniInt):RootInt(IniInt){}; NewInt ...
- bzoj 4542: [Hnoi2016]大数
Description 小 B 有一个很大的数 S,长度达到了 N 位:这个数可以看成是一个串,它可能有前导 0,例如00009312345 小B还有一个素数P.现在,小 B 提出了 M 个询问,每个 ...
- [Russian Code Cup 2017 - Finals [Unofficial Mirror]]简要题解
来自FallDream的博客,未经允许,请勿转载,谢谢. Div1难度+ACM赛制 和几个大佬组队逛了逛 A.给一个大小为n的集合ai(1<=ai<=1000000),要求你构造一个大小 ...
- 【Codeforces Round 431 (Div. 2) A B C D E五个题】
先给出比赛地址啦,感觉这场比赛思维考察非常灵活而美妙. A. Odds and Ends ·述大意: 输入n(n<=100)表示长度为n的序列,接下来输入这个序列.询问是否可以将序列划 ...
- hdu 5641 BestCoder Round #75
King's Phone Accepts: 310 Submissions: 2980 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- [bzoj4883][Lydsy2017年5月月赛]棋盘上的守卫
来自FallDream的博客,未经允许,请勿转载, 谢谢. 在一个n*m的棋盘上要放置若干个守卫.对于n行来说,每行必须恰好放置一个横向守卫:同理对于m列来说,每列 必须恰好放置一个纵向守卫.每个位置 ...