产环境部署node记录: centOS 7 mySQL和mongoDB的安装

Posted Jason齐齐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了产环境部署node记录: centOS 7 mySQL和mongoDB的安装相关的知识,希望对你有一定的参考价值。

mysql的安装】:

CentOS7默认数据库是mariadb,现在来安装mySQL


1.下载安装包 这里下载了四个安装包,后面会用到

yum -y install perl perl-devel autoconf libaio

 

2.将安装包移动到 /usr/local/ 下 

mv /root/mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar /usr/local/

 

 

 3.解压

tar -xvf mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar

 

 

 4.安装

rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm

 

5.原有的软件mariadb-devel 和 mariadb 有冲突,删除

rpm -qa | grep mariadb
#mariadb-libs-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

 

6.再次开始安装

rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm

 

rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm

 

rpm -ivh mysql-community-embedded-5.7.19-1.el7.x86_64.rpm

 

rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm

 

rpm -ivh mysql-community-embedded-devel-5.7.19-1.el7.x86_64.rpm

 

rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm

 

5.数据库初始化
 
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
 
mysqld --initialize --user=mysql

mysqld --initialize-insecure --user=mysql

 

另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。
 
这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,蓝色区域的就是自动生成的密码
 
cat /var/log/mysqld.log

 

 6.启动数据库

systemctl start mysqld.service

mysql -uroot -p

 


 

 安装期间除了若干个错误:

【错误一】.启动数据库时报错  ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: YES)

解决--- 这个错误是由密码错误引起,解决的办法自然就是重置密码。
     重置密码的第一步就是跳过MySQL的密码认证过程,方法如下
 
#vi /etc/my.cnf
 
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
保存文档并退出:
#:wq!
 
需要重启MySQL

   接下来就是用sql来修改root的密码

mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";

 

  【错误二】   这时又报错了:  ERROR 1054 (42S22): Unknown column \'password\' in \'field list\'
 
原因:  原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
 
所以更改语句替换为update mysql.user set authentication_string=password(\'root\') where user=\'root\' ;
 

   继续运行

ALTER USER \'root\'@\'localhost\'IDENTIFIED BY \'123456\';

 

 

【错误三】 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
 
这个时候我们只需要flush privileges 一下,再继续更改密码就行了
 

 

 7.刷新、退出

mysql> flush privileges;

mysql> quit;

 

 

8. 编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。

vi /etc/my.cnf

 

 

 重启并使用新密码登录

 

 至此数据库安装完成,并可以成功登陆。

 

 

9.本地连接数据库并导入sql文件

打开你自己电脑上的Navicat,新建连接

 

 

输入IP,端口3306;输入账号密码,登陆,发现连接错误。。。。
 
继续解决:
 

mysql 远程连接数据库的二种方法

一、连接远程数据库:
1、显示密码

如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隐藏密码

如:MySQL 连接本地数据库,用户名为“root”,

C:/>mysql -h localhost -u root -p 
Enter password:
二、配置mysql允许远程链接
    默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。
一、改表法

    在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"

例如:
  #mysql -u root -p
   Enter password:
    ……
   mysql>

  mysql>update user set host = \'%\' where user = \'root\';

  mysql>select host, user from user;

二、授权法

    例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

  mysql>GRANT ALL PRIVILEGES ON *.* TO \'myuser\'@\'%\'IDENTIFIED BY \'mypassword\' WITH GRANT OPTION;

  如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

  mysql>GRANT ALL PRIVILEGES ON *.* TO \'myuser\'@\'192.168.1.3\'IDENTIFIED BY

  \'mypassword\' WITH GRANT OPTION;

   mysql>FLUSH PRIVILEGES

  使修改生效,就可以了

常见问题: 
1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h 192.168.5.116
Enter password: 
ERROR 1045 (28000): Access denied for user \'root\'@\'loadb116\' (using password: YES)
上例中loadb116是主机名.
解决方法: 
1、这时可以使用:mysql  -u root -p 登录,进入到mysql后。
mysql> grant all privileges on *.* to \'root\'@\'loadb116\' 
       identified by \'123456\' with grant option; 
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)
2、在本地使用ip地址登录
# mysql -u root -p -h 192.168.5.116 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 60
Server version: 5.1.45 MySQL Community Server (GPL)

Type \'help;\' or \'/h\' for help. Type \'/c\' to clear the buffer.

mysql>
 
好了,搞定,终于能连接上了,可以导入表了
 
 
删除mySQL
查看安装了那些mysql的包
rpm -qa | grep -i mysql

使用命令删除,有依赖关系,需要根据依赖关系倒序删除  如果删除不了 后面加 --nodeps

rpm -e MySQL-client-5.1.49-1.glibc23
......
......

 查看是否有mySQL服务

chkconfig --list | grep -i mysql

 

删除mysql服务

[root@linux ~]# chkconfig --del mysql

c)删除分散mysql文件夹

[root@linux ~]# whereis mysql
mysql: /usr/lib/mysql /usr/share/mysql

分别删除

[root@linux lib]# rm -rf /usr/lib/mysql/
[root@linux lib]# rm -rf /usr/share/mysql

通过以上几步,mysql应该已经完全卸载干净了
 

【mongoDB】
 
首先创建一个 mongodb-org-3.4.repo文件
 

将文件移动到  /etc/yum.repos.d/下

进入文件并使用 vi 编辑文件

 

 

 

按下 esc 然后按 i 进入插入模式 ,复制下面代码写入文件

[mongodb-org-2.6]
name=MongoDB 2.6 Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

 

安装最新的稳定版本的MongoDB

sudo yum install -y mongodb-org

 

 

 

MongoDB实例默认存储其数据文件/var/lib/mongo 及其日志文件/var/log/mongodb,并使用mongod 用户帐户运行您可以在其中指定备用日志和数据文件目录/etc/mongod.conf
 
 
启动mongodb:
 
sudo service mongod start

验证mongodb已经启动成功
通过检查  /var/log/mongodb/mongod.log 下的日志来验证是否启动成功
 
查看端口和绑定的IP
 
进入   /etc/mongod.conf 文件查看
 

 

 查看日志 /var/log/mongodb/mongod.log

cd  /var/log/mongodb/

cat mongod.log

 

服务器重启的时候自动启动mongodb:

sudo chkconfig mongod on

 停止mongodb服务:

sudo service mongod stop

 重启mongodb:

sudo service mongod restart

 

以上是关于产环境部署node记录: centOS 7 mySQL和mongoDB的安装的主要内容,如果未能解决你的问题,请参考以下文章

YJZH 前端部署记录 CentOS+Nginx+Vue

生产环境部署node记录

记录CentOS环境下将Solr部署到Tomcat

Centos7中部署es7.10.2集群

centos6 部署strongloop

Centos7.3 Docker安装部署学习记录1