Ubuntu 16.04安装MySQL及遇到的问题解决方案

使用如下命令便可进行MySQL安装:mysql

sudo apt-get install mysql-server

上述命令会安装如下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
所以无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装便可。默认安装完成就启动了mysql。sql

  • 启动和关闭mysql服务器:
service mysql start service mysql stop

 

这里写图片描述

  • 确认是否启动成功:
sudo netstat -tap | grep mysql

 

这里写图片描述

  • 进入mysql shell界面:
mysql -u root -p

 

这里写图片描述

  • 解决利用sqoop导入MySQL中文乱码的问题
    致使导入时中文乱码的缘由是character_set_server默认设置是latin1,以下图。
    这里写图片描述
    能够单个设置修改编码方式set character_set_server=utf8;可是重启会失效,建议按如下方式修改编码方式。
    (1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    (2)在[mysqld]下添加一行character_set_server=utf8。以下图
    这里写图片描述
    (3)重启MySQL服务。service mysql restart
    (4)登录MySQL,并查看MySQL目前设置的编码show variables like "char%";
    这里写图片描述
    这样就能够愉快的导入中文了!

下面回顾一下安装过程当中我遇到的问题
一、安装到Renaming removed key_buffer and myisam-recover options (if present)就卡住了,并且ctrl+C 也没法退出,最后我关闭了终端强制退出了,可是我发现运用sudo netstat -tap | grep mysql 竟然显示是启动成功的,但是进入shell界面就会出现问题,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)网上找了一堆方法,都没法解决。
无奈考虑卸载重装:shell

sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor  //这个apparmor是在装mysql-server时装上的,和安全有关

 

二、重启电脑后(不少时候重启是法宝),再次利用命令apt-get安装mysql-server,运行到Renaming removed key_buffer and myisam-recover options (if present)仍然卡住了,我再次停止了终端,发现启动也是成功的,尝试进入shell界面,出现另外一种新的错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2),而后又是找了不少国内外资料,国内百度没法搜索出和这个错误彻底相关的,仍是老实FQ上谷歌,提出的方案是须要删除一些重复的配置文件,可是我连这个/var/run/mysqld/mysqld.sock没有,所以仍然没法解决。
再次卸载。考虑必定要卸载很是完全。安全

sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor sudo rm /var/lib/mysql/ -R //很是重要 sudo rm /etc/mysql/ -R //很是重要

 

三、重启电脑,再次利用命令sudo apt-get install mysql-server 顺利安装成功!bash

总结:必定要卸载很是干净!服务器