[ 若为Hadoop集群,则在Master上执行下述命令 ]
一、安装MySQL
1. 检查是否有自带MySQL
[root@master hadoop-2.6.5]# rpm -qa | grep mysql
[root@master hadoop-2.6.5]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
2. 出现有自带的软件,需进行卸载
[root@master hadoop-2.6.5]# yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
注: yum -y -remove mysql*
将会删除对该软件具有依赖关系的包
3. 安装wegt
[root@master hadoop-2.6.5]# yum -y install wget
4. 下载MySQL
[root@master ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
5. 安装rpm
[root@master ~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
注:rpm(redhat package manager) 命令用于管理套件。用来安装、卸载、校验、查询和更新 Linux 系统上的软件包。
Linux常用命令:rpm 命令、Linux rpm 命令
6. 安装 mysql-community-server
提供远程mysql连接服务
[root@master ~]# yum -y install mysql-community-server
若出现公钥未安装问题,则在命令行末尾加上--nogpgcheck
即可
[root@master ~]# yum -y install mysql-community-server --nogpgcheck
忽略检查公钥问题,可让mysql正常安装。
二、配置MySQL
1. 关闭密码验证
[root@master admin]# vim /etc/my.cnf
在末尾添加
plugin-load=validate_password.so
validate-password=OFF
2. 启动MySQL
[root@master admin]# service mysqld start
什么都没出现说明正常启动
3. 获取安装时的临时密码(在第一次登录时就是用这个密码)
[root@master admin]# grep "password" /var/log/mysqld.log
2022-02-16T11:27:55.499640Z 1 [Note] A temporary password is generated for root@localhost: Wf(Sa2af#Q0/
2022-02-16T11:27:59.787323Z 0 [Note] Plugin 'validate_password' is disabled.
2022-02-16T11:27:59.850484Z 0 [ERROR] Function 'validate_password' already exists
2022-02-16T11:27:59.850510Z 0 [Warning] Couldn't load plugin named 'validate_password' with soname 'validate_password.so'.
复制密码:Wf(Sa2af#Q0/
4. 登录MySQL
[root@master admin]# mysql -u root -p
执行登录命令后,粘贴刚才复制的密码
5. 设置密码
mysql> SET PASSWORD = PASSWORD('123456');
设置密码为12345
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
设置为永久密码
mysql> flush privileges;
刷新权限表
6. 查询用户表
切换到用户表
mysql> use mysql;
查询用户信息
mysql> select User,authentication_string,Host from user;
7. 远程访问
mysql数据库设置远程连接权限,允许所有主机均可使用root/123456(用户/密码)远程访问数据库。
mysql> grant all privileges on *.* to root@"%" identified by "123456";
设置为任意IP访问
注:
GRANT
:赋权命令
ALL PRIVILEGES
:当前用户的所有权限
ON
:介词
*.*
:当前用户对所有数据库和表的相应操作权限
TO
:介词
‘root’@’%’
:权限赋给root用户,所有ip都能连接。%
代表任意的客户端,可替换成具体IP地址。
IDENTIFIED BY ‘123456’
:连接时输入密码,密码为123456
刷新权限表
flush privileges;
远程连接测试
使用Navicat进行测试
连接成功!
输入命令退出Mysql。
exit
8. 设置开机启动自动启动
[root@master admin]# systemctl enable mysqld