MySQL-linux安装

在hadoop1节点上,通过rpm命令安装MySQL的各个组件,包括common、libs、client、server和libs-compat。清除老版本的mariadb-libs,安装依赖包net-tools和libaio。修改my.cnf文件设置UTF8编码,初始化数据库并获取随机密码,启动mysqld服务,修改root用户的默认密码,并允许root用户远程登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.3 MySQL安装

hadoop1上安装:

  1. 将mysql的五个rpm包上传到/opt/apps目录
[root@hadoop1 mysql]# ll
总用量 253768
-rw-r--r-- 1 root root  45109364 39 12:17 mysql-community-client-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root    318768 39 12:17 mysql-community-common-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root   4374364 39 12:17 mysql-community-libs-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root   1353312 39 12:17 mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 208694824 39 12:17 mysql-community-server-5.7.28-1.el7.x86_64.rpm

  1. 检查当前节点上是否存在mysql安装包,存在则删除:
[root@hadoop1 mysql]# rpm -qa | grep mysql
[root@hadoop1 mysql]# 

[root@hadoop1 mysql]# rm mariadb-libs-5.5.56-2.el7.x86_64
rm: 无法删除"mariadb-libs-5.5.56-2.el7.x86_64": 没有那个文件或目录
[root@hadoop1 mysql]# rpm -e --nodeps mysql-community-libs-compat-*
错误:未安装软件包 mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm 
[root@hadoop1 mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@hadoop1 mysql]# 

3、检查并删除老版本mysql的开发头文件和库

[root@hadoop1 mysql]# find / -iname 'mysql*'
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib/firewalld/services/mysql.xml

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

  1. 安装依赖包:net-tools libaio
yum install -y net-tools libaio
  1. 安装mysql(有顺序要求)
   1:mysql-community-common-5.7.28-1.e
   2:mysql-community-libs-5.7.28-1.el7
   3:mysql-community-client-5.7.28-1.e
   4:mysql-community-server-5.7.28-1.e
   5:mysql-community-libs-compat-5.7.2

执行这个,自动识别安装顺序:

[root@hadoop1 mysql]# rpm -ivh mysql-community-*
警告:mysql-community-client-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-5.7.28-1.e################################# [ 20%]
   2:mysql-community-libs-5.7.28-1.el7################################# [ 40%]
   3:mysql-community-client-5.7.28-1.e################################# [ 60%]
   4:mysql-community-server-5.7.28-1.e################################# [ 80%]
   5:mysql-community-libs-compat-5.7.2################################# [100%]
[root@hadoop1 mysql]# 

  1. 修改/etc/my.cnf文件,设置数据库的编码方式:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8

  1. 初始化数据库
mysqld --initialize --user=mysql

如果出现错误,请查看/etc/my.cnf文件中指定的错误log日志的文件:log- error=/var/log/mysqld.log

  1. 找到随机密码: 在/var/log/mysqld.log中有一行:

A temporary password is generated for root@localhost,后面就是随机密码

# mysql -uroot -p"yAe7QGVJ;HlR"使用随机密码登录系统

  1. 启动服务:systemctl start mysqld

  2. 登录mysql数据库:

mysql -uroot -p
  1. 修改默认密码
mysql> set password for 'root'@'localhost'=password('root');
Query OK, 0 rows affected, 1 warning (0.01 sec)

  1. 查看编码方式:
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

  1. 给root设置远程登录权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值