2.3 MySQL安装
hadoop1上安装:
- 将mysql的五个rpm包上传到/opt/apps目录
[root@hadoop1 mysql]# ll
总用量 253768
-rw-r--r-- 1 root root 45109364 3月 9 12:17 mysql-community-client-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 318768 3月 9 12:17 mysql-community-common-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 4374364 3月 9 12:17 mysql-community-libs-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1353312 3月 9 12:17 mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 208694824 3月 9 12:17 mysql-community-server-5.7.28-1.el7.x86_64.rpm
- 检查当前节点上是否存在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不会删除,如果确定没用后就手工删除
- 安装依赖包:net-tools libaio
yum install -y net-tools libaio
- 安装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]#
- 修改/etc/my.cnf文件,设置数据库的编码方式:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
- 初始化数据库
mysqld --initialize --user=mysql
如果出现错误,请查看/etc/my.cnf文件中指定的错误log日志的文件:log- error=/var/log/mysqld.log
- 找到随机密码: 在/var/log/mysqld.log中有一行:
A temporary password is generated for root@localhost,后面就是随机密码
# mysql -uroot -p"yAe7QGVJ;HlR"使用随机密码登录系统
-
启动服务:systemctl start mysqld
-
登录mysql数据库:
mysql -uroot -p
- 修改默认密码
mysql> set password for 'root'@'localhost'=password('root');
Query OK, 0 rows affected, 1 warning (0.01 sec)
- 查看编码方式:
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/ |
+--------------------------+----------------------------+
- 给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>