最近在学习林子雨老师的大数据时,发现为 Hadoop 安装 Hive 需要使用 MySQL 数据库保存 Hive 的元数据,而不是采用 Hive 自带的 derby 来存储元数据。为了填补大数据专栏的空白,查阅资料完成此篇博客。
使用默认的 apt 包管理器安装即可:
sudo apt-get update
sudo apt-get install mysql-server
启动 MySQL:
service mysql start
检查是否启动成功:
systemctl status mysql.service
正常启动输出如下:
观察其 Active
选项即可。
编辑 MySQL 配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在 mysqld
下添加以下一行数据:
character_set_server=utf8
如下所示:
重启你的 MySQL 服务:
service mysql restart
在 Ubuntu 下 MySQL 默认是只允许本地访问的,使用 MySQL workbench 连接工具是连不上的; 所以我们需要新建一个数据库与用户来使用 MySQL workbench。
进入 mysql shell 界面:
sudo mysql -u root -p
修改你的密码强度要求以及密码长度要求:
mysql> set global validate_password.policy=LOW;
Query OK, 0 rows affected (0.01 sec)
mysql> set global validate_password.length=8;
Query OK, 0 rows affected (0.00 sec)
mysql>
注意 MySQL 8. 版本以下的话修改以上变量使用 validate_password_policy
。使用如下命令查看你的 MySQL 版本:
mysql> SELECT @@VERSION;
+-------------------------+
| @@VERSION |
+-------------------------+
| 8.0.27-0ubuntu0.20.04.1 |
+-------------------------+
1 row in set (0.00 sec)
mysql>
新建数据库和用户:
mysql> CREATE DATABASE dbfzq;
Query OK, 1 row affected (0.02 sec)
mysql> create user 'fzq'@'%' identified by 'qwer1234';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on dbfzq.* to 'fzq'@'%' with grant option;
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql>
第1行的 dbfzq
是我创建的新数据库名,第4行的 fzq
为我创建的新用户名, qwer1234
为密码(根据之前设置的密码长度及强度自行配置)
安装包下载地址如下:https://dev.mysql.com/downloads/workbench/,也可以下载我上传的资源:mysql-workbench-community_8.0.27-1ubuntu20.04_amd64.deb
这里我下载的包为 mysql-workbench-community_8.0.27-1ubuntu20.04_amd64.deb
, 接着安装下载好的 deb 包:
sudo dpkg -i ~/Downloads/mysql-workbench-community_8.0.27-1ubuntu20.04_amd64.deb
中间可能会有依赖报错,使用以下命令安装其依赖项:
sudo apt -f install
安装完成,软件中心找到并打开。
打开后界面如下:
点击 MySQL Connections
后的加号,试着连接之前创建的数据库(dbfzq)及用户(fzq):
create table person (id int(3) auto_increment not null primary key, xm varchar(10),xb varchar(2),csny date);
describe person;
使用正常,大功告成!