ubuntu 15.10安装mysql数据库 开启远程端口

阅读更多
最近基于hadoop-2.6.0安装apache-hive-1.2.1-bin,需要安装mysql数据库(Hive默认使用的derby)。
简单说明:Hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。这套映射工具称之为metastore,一般存放在derby、mysql中。
derby不能被多个客户端共同使用,它使用独占式,客户端运行在哪个目录中,就会在那个目录中创建derby.log和metastore_db 两个文件。所有要用mysql数据库来存储,也可以用其他数据库比如Oracle存储。

下面介绍一下安装mysql数据库。
1.首先安装mysql的服务端。
执行命令sudo apt-get install mysql-server,根据提示进行操作,中间会弹出设置密码和确认密码,输入密码,用tab键切换光标,确定即可。

ubuntu 15.10安装mysql数据库 开启远程端口_第1张图片

ubuntu 15.10安装mysql数据库 开启远程端口_第2张图片

root@master1:/usr/local/tools# sudo apt-get install mysql-server
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
  libterm-readkey-perl mysql-client-5.6 mysql-client-core-5.6 mysql-common
  mysql-server-core-5.6
建议安装的软件包:
  libmldbm-perl libnet-daemon-perl libsql-statement-perl
  libipc-sharedcache-perl mailx tinyca
下列【新】软件包将被安装:
  libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
  libterm-readkey-perl mysql-client-5.6 mysql-client-core-5.6 mysql-common
  mysql-server-5.6 mysql-server-core-5.6
升级了 0 个软件包,新安装了 11 个软件包,要卸载 0 个软件包,有 180 个软件包未被升级。
需要下载 21.0 MB 的软件包。
解压缩后会消耗掉 154 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily/main libaio1 amd64 0.3.110-1 [6,454 B]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main mysql-common all 5.6.28-0ubuntu0.15.10.1 [14.4 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main libmysqlclient18 amd64 5.6.28-0ubuntu0.15.10.1 [701 kB]
获取:4 http://cn.archive.ubuntu.com/ubuntu/ wily/main libdbi-perl amd64 1.633-1 [772 kB]
获取:5 http://cn.archive.ubuntu.com/ubuntu/ wily/main libdbd-mysql-perl amd64 4.028-2 [88.6 kB]
获取:6 http://cn.archive.ubuntu.com/ubuntu/ wily/main libterm-readkey-perl amd64 2.33-1 [28.1 kB]
获取:7 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main mysql-client-core-5.6 amd64 5.6.28-0ubuntu0.15.10.1 [3,927 kB]
获取:8 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main mysql-client-5.6 amd64 5.6.28-0ubuntu0.15.10.1 [5,221 kB]                                                                                   
获取:9 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main mysql-server-core-5.6 amd64 5.6.28-0ubuntu0.15.10.1 [4,629 kB]                                                                              
获取:10 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main mysql-server-5.6 amd64 5.6.28-0ubuntu0.15.10.1 [5,585 kB]                                                                                  
获取:11 http://cn.archive.ubuntu.com/ubuntu/ wily/main libhtml-template-perl all 2.95-2 [60.4 kB]                                                                                                         
下载 21.0 MB,耗时 46秒 (453 kB/s)                                                                                                                                                                         
正在预设定软件包 ...
正在选中未选择的软件包 libaio1:amd64。
(正在读取数据库 ... 系统当前共安装有 183481 个文件和目录。)
正准备解包 .../libaio1_0.3.110-1_amd64.deb  ...
正在解包 libaio1:amd64 (0.3.110-1) ...
正在选中未选择的软件包 mysql-common。
正准备解包 .../mysql-common_5.6.28-0ubuntu0.15.10.1_all.deb  ...
正在解包 mysql-common (5.6.28-0ubuntu0.15.10.1) ...
正在选中未选择的软件包 libmysqlclient18:amd64。
正准备解包 .../libmysqlclient18_5.6.28-0ubuntu0.15.10.1_amd64.deb  ...
正在解包 libmysqlclient18:amd64 (5.6.28-0ubuntu0.15.10.1) ...
正在选中未选择的软件包 libdbi-perl。
正准备解包 .../libdbi-perl_1.633-1_amd64.deb  ...
正在解包 libdbi-perl (1.633-1) ...
正在选中未选择的软件包 libdbd-mysql-perl。
正准备解包 .../libdbd-mysql-perl_4.028-2_amd64.deb  ...
正在解包 libdbd-mysql-perl (4.028-2) ...
正在选中未选择的软件包 libterm-readkey-perl。
正准备解包 .../libterm-readkey-perl_2.33-1_amd64.deb  ...
正在解包 libterm-readkey-perl (2.33-1) ...
正在选中未选择的软件包 mysql-client-core-5.6。
正准备解包 .../mysql-client-core-5.6_5.6.28-0ubuntu0.15.10.1_amd64.deb  ...
正在解包 mysql-client-core-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在选中未选择的软件包 mysql-client-5.6。
正准备解包 .../mysql-client-5.6_5.6.28-0ubuntu0.15.10.1_amd64.deb  ...
正在解包 mysql-client-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在选中未选择的软件包 mysql-server-core-5.6。
正准备解包 .../mysql-server-core-5.6_5.6.28-0ubuntu0.15.10.1_amd64.deb  ...
正在解包 mysql-server-core-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在处理用于 man-db (2.7.4-1) 的触发器 ...
正在设置 mysql-common (5.6.28-0ubuntu0.15.10.1) ...
update-alternatives: 使用 /etc/mysql/my.cnf.fallback 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
正在选中未选择的软件包 mysql-server-5.6。
(正在读取数据库 ... 系统当前共安装有 183853 个文件和目录。)
正准备解包 .../mysql-server-5.6_5.6.28-0ubuntu0.15.10.1_amd64.deb  ...
正在解包 mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在选中未选择的软件包 libhtml-template-perl。
正准备解包 .../libhtml-template-perl_2.95-2_all.deb  ...
正在解包 libhtml-template-perl (2.95-2) ...
正在处理用于 man-db (2.7.4-1) 的触发器 ...
正在处理用于 ureadahead (0.100.0-19) 的触发器 ...
正在处理用于 systemd (225-1ubuntu9) 的触发器 ...
正在设置 libaio1:amd64 (0.3.110-1) ...
正在设置 libmysqlclient18:amd64 (5.6.28-0ubuntu0.15.10.1) ...
正在设置 libdbi-perl (1.633-1) ...
正在设置 libdbd-mysql-perl (4.028-2) ...
正在设置 libterm-readkey-perl (2.33-1) ...
正在设置 mysql-client-core-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在设置 mysql-client-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在设置 mysql-server-core-5.6 (5.6.28-0ubuntu0.15.10.1) ...
正在设置 mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) ...
update-alternatives: 使用 /etc/mysql/mysql.cnf 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
2016-03-03 08:23:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-03-03 08:23:04 0 [Note] /usr/sbin/mysqld (mysqld 5.6.28-0ubuntu0.15.10.1) starting as process 12807 ...
正在设置 libhtml-template-perl (2.95-2) ...
正在处理用于 libc-bin (2.21-0ubuntu4) 的触发器 ...
正在处理用于 ureadahead (0.100.0-19) 的触发器 ...
正在处理用于 systemd (225-1ubuntu9) 的触发器 ...


安装client端

root@master1:/usr/local/tools# sudo apt-get install mysql-client
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  mysql-client
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 180 个软件包未被升级。
需要下载 8,700 B 的软件包。
解压缩后会消耗掉 122 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main mysql-client all 5.6.28-0ubuntu0.15.10.1 [8,700 B]
下载 8,700 B,耗时 0秒 (113 kB/s) 
正在选中未选择的软件包 mysql-client。
(正在读取数据库 ... 系统当前共安装有 183954 个文件和目录。)
正准备解包 .../mysql-client_5.6.28-0ubuntu0.15.10.1_all.deb  ...
正在解包 mysql-client (5.6.28-0ubuntu0.15.10.1) ...
正在设置 mysql-client (5.6.28-0ubuntu0.15.10.1) ...


安装lib
root@master1:/usr/local/tools# sudo apt-get install libmysqlclient-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  zlib1g-dev
下列【新】软件包将被安装:
  libmysqlclient-dev zlib1g-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 180 个软件包未被升级。
需要下载 1,167 kB 的软件包。
解压缩后会消耗掉 6,713 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily/main zlib1g-dev amd64 1:1.2.8.dfsg-2ubuntu4 [168 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ wily-updates/main libmysqlclient-dev amd64 5.6.28-0ubuntu0.15.10.1 [999 kB]
下载 1,167 kB,耗时 1秒 (963 kB/s)          
正在选中未选择的软件包 zlib1g-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 183957 个文件和目录。)
正准备解包 .../zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4_amd64.deb  ...
正在解包 zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
正在选中未选择的软件包 libmysqlclient-dev。
正准备解包 .../libmysqlclient-dev_5.6.28-0ubuntu0.15.10.1_amd64.deb  ...
正在解包 libmysqlclient-dev (5.6.28-0ubuntu0.15.10.1) ...
正在处理用于 man-db (2.7.4-1) 的触发器 ...
正在设置 zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
正在设置 libmysqlclient-dev (5.6.28-0ubuntu0.15.10.1) ...
root@master1:/usr/local/tools# 


2.安装完mysql服务端后,可以执行下面的命令查看是否安装成功。
root@master1:/usr/local/tools# sudo netstat -tap | grep mysql
tcp        0      0 localhost:mysql         *:*                     LISTEN      13308/mysqld    
如果服务器不能正常运行,您可以通过下列命令启动它:
sudo /etc/init.d/mysql restart
登陆mysql数据库,命令说明:参说-u后面的是用户名,-p后面是密码
root@master1:/usr/local/tools# mysql -uroot -padmin
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.6.28-0ubuntu0.15.10.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 


查看数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)


查看mysql数据库
mysql> use mysql;
Database changed

查看mysql数据库中的表
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+


查看user表
mysql> show create table user;
| user  | CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin DEFAULT 'mysql_native_password',
  `authentication_string` text COLLATE utf8_bin,
  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges' |


查询user表内容
mysql> select host,user,password from user;
+-----------+------------------+-------------------------------------------+
| host      | user             | password                                  |
+-----------+------------------+-------------------------------------------+
| localhost | root             | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| master1   | root             | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root             | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| ::1       | root             | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost | debian-sys-maint | *3F13BC25445419664B5E3224F012CA8676E60AE8 |
| %         | root             | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| %         | master1          | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------------------+-------------------------------------------+5 rows in set (0.00 sec)


退出mysql命令行
mysql> quit;
Bye

从上面执行sql查询来看mysql数据库安装基本没问题;

下面很重要,因为hive必须通过远程端口3306访问
3.开启远程访问端口
首先查看端口是否打开 netstat -an|grep 3306
显示结果:tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
上面说明mysql的3306端口只是监听本地的连接,并没有开启远程端口服务,阻碍外部IP对该数据库的访问。
打开mysql配置文件vim /etc/mysql/mysql.conf.d/mysqld.cnf注释掉bind-address           = 127.0.0.1
注:我的ubuntu是15.10的,mysql是5.6版本在/etc/mysql/mysql.conf.d/mysqld.cnf;如果低版本可以查看/etc/mysql/my.cnf

ubuntu 15.10安装mysql数据库 开启远程端口_第3张图片

重启mysql服务
sudo /etc/init.d/mysql restart 

添加root的访问权限
mysql不允许远程连接,需要在登陆mysql中执行授权命令:命令如下:
允许远程用户连接所有数据库
root@master1:/usr/local/tools# mysql -uroot -padmin
mysql>grant all on *.* to 'root'@'%' identified by 'admin' ; 

刷新一下权限表
mysql>flush privileges; 

  • ubuntu 15.10安装mysql数据库 开启远程端口_第4张图片
  • 大小: 22.8 KB
  • ubuntu 15.10安装mysql数据库 开启远程端口_第5张图片
  • 大小: 11.6 KB
  • ubuntu 15.10安装mysql数据库 开启远程端口_第6张图片
  • 大小: 46.4 KB
  • 查看图片附件

你可能感兴趣的:(ubuntu,mysql)