title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记

date: 2018.02.03

安装mysql

sudo apt-get install mysql-server mysql-client

测试是否安装成功

sudo netstat -tap | grep mysql

相关操作

  • 登录 mysql -uroot -p
  • 检查MySQL服务器占用端口 netstat -nlt|grep 3306
  • 检查MySQL服务器系统进程 ps -aux|grep mysql
  • 查看数据库的字符集编码 mysql> show variables like '%char%';
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

编辑配置文件:

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf


在 [mysqld] 域下加上:

character-set-server=utf8

[此处有坑]不要写成utf-8了否则MySQL无法重新启动!出现如下提示:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

再重新启动 MySQL 服务即可:

$ sudo systemctl restart mysql


再确认默认编码:

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/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

如何重新安装MySQl?

重新安装mysql时出现如下错误:

正在设置 mysql-server-5.5 (5.5.27-0ubuntu2) ...start: Job failed to startinvoke-rc.d: initscript mysql,
action "start" failed.dpkg: error processing mysql-server-5.5 (--configure): 子进程
已安装 post-installation 脚本
返回了错误号 1dpkg: dependency problems prevent configuration of mysql-server: mysql-server
依赖于 mysql-server-5.5;
然而: 软件包 mysql-server-5.5 尚未配置。dpkg: error processing mysql-server (--configure):
依赖关系问题 - 仍未被配置因为错误消息指示这是由于上一个问题导致的错误,没有写入 apport 报告。
在处理时有错误发生: mysql-server-5.5 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决办法:

删除mysql前 先删除一下 /var/lib/mysql 还有 /etc/mysql

$ sudo rm /var/lib/mysql/ -R
$ sudo rm /etc/mysql/ -R $ sudo apt-get autoremove mysql* --purge
$ sudo apt-get remove apparmor $ sudo apt-get install mysql-server mysql-client

Ubuntu 16.04 安装Mysql 5.7 踩坑小记的更多相关文章

  1. Ubuntu 16.04 安装mysql并设置远程访问

    说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...

  2. Ubuntu 16.04 安装Mysql数据库

    系统环境 Ubuntu 16.04; 安装步骤 1.通过以下环境安装mysql服务端与客户端软件 sudo apt-get install mysql-server apt-get isntall m ...

  3. Ubuntu 16.04安装MySQL(5.7.18)

    此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 安装MySQL前需要做如下了解: 1.MySQL各类型版本的区别,参考:http://ww ...

  4. Ubuntu 16.04安装mysql (连接)

    1.安装mysql sudo apt-get install mysql-server 注:若出现依赖问题安装失败,先执行以下命令sudo apt-get install -f 2.安装过程中会输入密 ...

  5. Ubuntu 16.04安装MySQL设置远程访问出现问题的完美解决方案(error:10061)

    一.安装mysql 安装mysql过程中,需要设置mysql的root账号的密码,不要忽略了. sudo apt-get install mysql-server apt isntall mysql- ...

  6. ubuntu 16.04安装mysql

    首先执行下面三条命令: sudo apt-get install mysql-server sudo apt install mysql-client sudo apt install libmysq ...

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

    使用以下命令即可进行MySQL安装: sudo apt-get install mysql-server 上述命令会安装以下包: apparmor mysql-client-5.7 mysql-com ...

  8. ubuntu 16.04安装mysql server入门

    1.安装mysql-server -> sudo apt-get install mysql-server 输入root密码即可 2.修改服务器配置 默认mysql-server只对本机访问,新 ...

  9. ubuntu 16.04上 mysql 5.7 安装笔记

    一 安装 ubuntu 采用APT安装方式,可参考: Ubuntu 安装mysql和简单操作 Ubuntu 16.04安装MySQL(5.7.18) A Quick Guide to Using th ...

随机推荐

  1. 巧用Dictionary<TKey,TValue>,完成客户需求

    前几天与客户沟通一个项目,客户对其中某个模块提了一个需求. 把从数据库中取出的对物品的统计重新拆分重新统计.鉴于用文字不能清除的表达需求,我将该需求画出来,便于理解. 需求如下图: 就是A,B,C D ...

  2. 机器学习之Adaboost (自适应增强)算法

    注:本篇博文是根据其他优秀博文编写的,我只是对其改变了知识的排序,另外代码是<机器学习实战>中的.转载请标明出处及参考资料. 1 Adaboost 算法实现过程 1.1 什么是 Adabo ...

  3. Https访问

    Let's Encrypt是很火的一个免费SSL证书发行项目,自动化发行证书,证书有90天的有效期.适合个人使用或者临时使用,不用再忍受自签发证书不受浏览器信赖的提示.去年VPS侦探曾经说过Let's ...

  4. MySQL之表的数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  5. elasticsearch red status fix 红色状态修复

    问题描述: spring cloud项目有用到elasticsearch,启动时进行健康校验,发现es一直是down的,导致在eureka显示也是down 问题定位:查看actuator源码发现,如果 ...

  6. hihoCoder1319 岛屿周长 (bfs)

    思路:从给定坐标开始bfs,将所有联通点标记,然后把每个联通点的四个方向都判断一下,如果这个方向相邻的是一个非联通点说明需要把这条边实在最外围,即周长的一部分. AC代码 #include <s ...

  7. UVA-10954 贪心+优先队列

    贪心策略:每次选取最小的两个数相加,将和作为新的数加入序列,再从里面取两个最小的数...直到只剩下一个数.优先队列正好对付这题. PS :以前在学校OJ做过几乎一毛一样的这题 AC代码: #inclu ...

  8. 吾八哥学Selenium(一):Python下的selenium安装

    selenium简介 Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mo ...

  9. Storm+HBase实时实践

    1.HBase Increment计数器 hbase counter的原理: read+count+write,正好完成,就是讲key的value读出,若存在,则完成累加,再写入,若不存在,则按&qu ...

  10. 使用tcpcopy导入线上流量进行功能和压力测试

    - 假设我们要上线一个两年内不会宕机的先进架构.在上线前,免不了单元测试,功能测试,还有使用ab,webbench等等进行压力测试. 但这些步骤非生产环境下正式用户的行为.或许你会想到灰度上线,但毕竟 ...