发表于: 2018-10-14 22:19:48

2 567


今天完成的事情:

太累了,学不进去了,就把今天碰到的问题陈述一下吧

1.今天在centOS7.2上折腾了好久(迁移一个数据库我从早上一直到00:44才弄完)

 交付的档案里写着服务器里有mysql,然后我按照源码上的密码登不进去。。。

然后有查看了mysql服务是否启动,进程里也显示有mysqld的进程。然后我想找mysql根目录设置跳过密码。结果死活找不到根目录的位置。所有当时懵了。mysql的服务启动的,但是根目录没有,输入mysql -hlocalhost -uroot -p

能显示要求输入密码,然后源码上的mysql密码输入进去还是错的,最后线上的网站显示能读取mysql数据库内容???

无奈去请教总监,这才得知centOS里面是装的MariaDB。

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

膜拜一下,创始人因为怕被自己的成果被做成闭源,重新写了一个数据库???666

然后装MariaDB用的yum方法。我又一次遇到了深坑,下载数据平均3kb/s???等它下完,我要等到猴年马月去了。。。

解决办法:更换国内Mariadb源

首先全部删除mysql/mariadb

使用

rpm -qa | grep MariaDB

rpm -qa | grep mysql

搜索现有的包,

如果存在(删不了,就一个一个删),使用

rpm -e --nodeps MariaDB-*

全部删除。

然后,创建MariaDB.repo文件

vim /etc/yum.repos.d/MariaDB.repo

插入一下内容,第二个我换成了国内源中科大的,,选择安装你需要的版本:

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

[mariadb]

name = MariaDB

baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.1/centos7-amd64/

gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck=1

系统及版本选择,你可以根据这个网址(国内)去选择你想安装centos7 amd64位其他版本号的版本,网址。直接修改baseurl中的版本号即可。安装Mariadb之前,你可以先导入GPG key

rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

运行安装命令安装MariaDB(安装过程可能会比较漫长,使用中科大的就快了)

这里的快我得说具体一点,刚才用的原始网址,3KB/s.

现在,换了中科大的源直接飙升到1.3MB/s从老牛拉破车,直接彪到火箭上月球。

之后就是启动服务,设置开机启动,设置密码,允许远程访问,配置字符集,添加用户权限跟mysql没有区别。

接下来是第三个深坑

原来的数据库中有两个数据库名字叫

bigdata-base

bigdata-knowledge

我创建数据库的时候提示我中间的横杠不允许,然后查了数据库命名规则没说 ‘ - ’ 不让用啊,于是用了中文的'——' 去掉一个‘—’,创建了数据库,然后把数据内容都导进去,想想不对劲,又查了源码,发现就是

bigdata-base

bigdata-knowledge

再查看了就服务器的数据库也是这两个,那么就是能用‘ - ’喽???为什么我死活创建不了带‘ - ’的名字?于是乎我又一次陷入懵圈的境地。。。

解决办法:我查到了导出整个MariaDB所有数据的方法:

mysqldump -uroot -p --all-databases > sqlfile.sql

然后用atom读取了一下里面的内容,找到创建这两个数据库的语句

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bigdata-base` /*!40100 DEFAULT CHARACTER SET utf8 */;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bigdata-knowledge` /*!40100 DEFAULT CHARACTER SET utf8 */;

所以系统给了创建语句,它统一用了*/ `xxx` /*的形式输入数据库名,前后还加了/*!32312和!40100疑似ASCII码的东西。。这是程序员都写不出来这样的语句啊!!!不过好在都创建好,导入数据内容。MariaDB今天总算是迁移好了。

明天计划的事情:

这两天一直再迁服务器内容,够呛啊

遇到的问题:

不知道师兄有没有办法,就是现在公司用的是网易云的服务器,它是一台服务器连接外网,然后我这边有四台服务器组成的内网,我要访问这4台服务器,需要先访问那公共的外网服务器,然后用ssh+ip1-4进入这四台服务器。原先用的是阿里的服务器,每台都能连外网到没什么问题。但是现在代码用的是SSM框架的springboot。里面连接数据库应该怎么写?原先的代码配置文件是这样的:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/tests?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
jdbc.username=root
jdbc.password=123456

现在要经过一个中间站服务器再访问内网服务器,最后访问内网服务器里的MariaDB,这个配置文件应该怎么改?

收获:

今天跟经理说想写脚本来辅助迁移服务器,被提醒赶紧迁完,别整幺蛾子


返回列表 返回列表
评论

    分享到