安装前准备
上传安装包文件夹
1,准备MySQL所需的五个文件夹
- 注意:安装MySQL所需文件夹为四个,分别是:client,common,lib,server文件夹,我这里多了一个devel文件夹是因为我后续需要安装hive数据库。
2,把文件夹通过软件上传到root文件夹下面
注意:Linux上面的。rpm包相当于window上面的.exe包,即为离线安装包
注意,在Linux上面不能直接安装这些安装包,因为直接安装会安装不上,因为Linux系统在安装以后会自动安装一些MySQL的依赖包
卸载系统自带据库数
查看已经安装的数据库的一些信息 使用命令 :rpm -qa,这个命令是查看Linux系统上面所有已安装的软件
1,查看与MySQL相关的包(使用管道符)
没有找到任何内容。
2,查看与mariadb数据库相关的包
找到一个已安装的mariadb数据库
3,这个软件和即将需要安装的MySQL有冲突,需要先卸载
使用命令:rpm -e 软件名 --nodeps (只要是使用rpm所查询到的软件,都可以使用这个命令卸载)
-e:卸载
--nodeps:强制执行
如:
再进行查询就查询不到了(已经卸载了)
进行安装
注意:安装顺序不能变,安装顺序变了会报错(在root用户下面操作)
安装命令:rpm -ivh 安装包
1,安装common包
2,安装lib包
3.安装client包
4.安装server包(服务端)
注意:这里可能会安装报错
解决方案:使用命令rpm -ivh --nodeps 安装包 进行强制安装
安装完这四个文件,MySQL数据库就可以正常运行了
最后把devel包也安装一下(这个包是我后续安装hive数据库所需要使用的,如果只是需要是以哦那个MySQL数据库,那么这个包则不用安装)
全部安装完成
检查服务器
数据库安装完成以后需要检查数据库服务器是否启动,没有启动则不能连接数据库
查看数据库状态命令:systemctl status mysqld;
MySQL启动服务器命令:systemctl stsrt mysqld;
Active:inactive(dead):表示没有启动
Active:active(running):表示已经启动
查看MySQL数据库服务状态:systemctl status mysqld;
启动MySQL数据库系统服务:systemctl stsrt mysqld;
查看状态,(running):已启动
登录数据库
查看密码
注意:在MySQL5.7以后版本安装完成后,系统都会分配一个默认的管理员用户和密码
查找:通过日志文件/var/log/mysqld.log去查找,在日志文件中查找关于password的行
查找命令:grep password /var/log/mysqld.log;(localhost后面的就是密码)
登录命令:mysql -uroot -p”qm!(f>vaR68w”
注意:因为密码中带有特殊符号,所以需要双引号引用,如密码中没有特殊符号,则不需要使用双引号
或者使用以下方法登录:
注意:此时在输入密码时是不显示的,可复制密码,然后直接shift+insert进行复制
修改密码
注意:此时应修改数据库密码,不修改不能使用(这是一种安全机制)
密码规则:密码长度八位数,并且包含字母大小写
修改密码前把密码规则修改一下,这样就可以随便设置密码
1,设置全局参数:set global validate_password_policy=0;(注意:密码等级,0,1,2,其中0是最低级,这里设为0)
2,设置一下密码长度:set global validate_password_length=1,(设置密码长度是1,这样密码长度就可以随便修改)
3,修改密码:alter user ‘root’@’localhost’ identified by ‘root’;
注意:这里设置的密码为root,可任意设置
4,刷新一下:flush privileges;(这也是一个sql语句)
5,退出,然后使用密码登录
使用密码登录:mysql -uroot -proot
使用navicate软件连接数据库
上述步骤已经安装好了MySQL数据库,但是对其进行配置,只能使用一些连接虚拟机的工具进行连接,还不能使用navicate等数据库连接工具对MySQL进行连接
安装完MySQL数据库以后,管理员用户默认是本地的,之能使用Linux连接工具:mysql -uroot -proot去连接,不能使用远程数据库连接工具去连接,使用工具连接数据库还需要对数据库进行以下配置
查看MySQL数据库下面的所有数据库实例:
命令:show databases;
MySQL数据库和Oracle数据库的区别:MySQL数据库中是分数据库实例的,自动会同时启动多个的数据库实例,而在Oracle数据库中不管创建几个数据库实例,在启动的时候默认只会启动一个,即为最新创建的那个,所以Oracle数据库在使用的时候都是用用户和表空间把不同的表分割开来,MySQL数据库是多实例的,这就可以把不同的不表放在不同的数据库中
MySQL数据库中
mysql是所有实例主库,里面保存所有的用户以及用户的权限信息
information_schema 和performance_schema保存的也是数据权限信息
information_schema :里面保存的是数据字典,视图等
修改密码需要使用的数据库实例是mysql
进入mysql数据库实例
命令:ues mysql
查看里面都有哪些表
命令:show tables
注意:其中user是用户表
查询两列,user(用户),host(允许用户登录的ip地址)
命令:Select user,host from user;
里面有三个默认用户,ip全部都是localhost,表示只能本地连接,不允许远程连接
把localhost修改为%,%表示任意的ip地址都可以连接
注意:一般在自己使用的时候直接把localhost修改为%,但是在实际工作中一般都是新建用户,然后使用root用户给新建的用户赋权限,因为root用户权限比较高,不能是谁都可以连接的
修改host的IP地址:
命令:update user set host=’%’ where user=’root’ and host = ‘localhost’;
修改ip以后
使用命令:flush privileges;(刷新权限命令)
注意:修改完以后必须要使用命令对权限进行刷新,否则的话就和没有修改是一样的
使用navicate新建连接,输入用户和密码,连接成功。
安装完毕。