当前位置:Gxlcms > 数据库问题 > 产环境部署node记录(三): centOS 7 mySQL和mongoDB的安装

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

时间:2021-07-01 10:21:17 帮助过:11人阅读

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】 根据官网教程: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/   首先创建一个 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的安装

标签:href   server   with   账号   alt   关系   exec   auth   mongodb实例   

人气教程排行