小洪維尼 发表于 2017-12-12 12:44:11

Ubuntu 16.04安装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。


[*]启动和关闭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)在下添加一行character_set_server=utf8。如下图
  

  
(3)重启MySQL服务。service mysql restart
  
(4)登陆MySQL,并查看MySQL目前设置的编码show variables like "char%";
  

  
这样就可以愉快的导入中文了!
  下面回顾一下安装过程中我遇到的问题:
  
1、安装到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)网上找了一堆方法,都无法解决。
  无奈考虑卸载重装:
  

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

  2、重启电脑后(很多时候重启是法宝),再次利用命令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   //非常重要
  

  3、重启电脑,再次利用命令sudo apt-get install mysql-server 顺利安装成功!
  总结:一定要卸载非常干净!
页: [1]
查看完整版本: Ubuntu 16.04安装MySQL及遇到的问题解决方案