【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服务
[[email protected] ~]# chkconfig --del mysql
c)删除分散mysql文件夹
[[email protected] ~]# whereis mysql
mysql: /usr/lib/mysql /usr/share/mysql
分别删除
[[email protected] lib]# rm -rf /usr/lib/mysql/
[[email protected] 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