您的位置:首页 > 数据库 > MySQL

Ubuntu18.04下安装卸载Mysql5.7及MySQL的一些基本操作

2019-05-27 22:42 495 查看

文章目录

  • 使用MySQL
  • 安装卸载MySQL(两种装法)

    1.终端下apt命令安装(坑太多,不推荐)

    • 18.04默认安装mysql5.7,使用如下命令安装:
      sudo apt-get --purge remove mysql-server mysql-common mysql-client
      sudo apt-get install mysql-server mysql-common mysql-client
    • 如果在使用命令
      mysql -u root -p
      连接mysql数据库时报错
      !

      ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 解决方案:跳过密码验证,更改root用户密码
    1. 编辑mysql配置文件 :
      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    2. 添加跳过密码验证命令:
      skip-grant-tables
    3. 重启mysql服务:
      service mysql status
      service mysql restart
    4. 重连数据库
      mysql -u root -p
      将成功跳过密码验证,之后需要更改
      root
      用户密码及密码规则:
      update mysql.user set authentication_string=PASSWORD('123456'),plugin='mysql_native_password' where user='root';
    5. 注释掉跳过密码验证命令:
      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

      # skip-grant-tables
    6. 重启mysql服务
      service mysql restart
    • 重连数据库成功!

    2.官网下载安装(推荐)

    • MySQL官网,寻找下载开源免费社区版;
    • APT下载页面下载DEB格式的安装包,默认下载至
      ~/下载
      目录下。
    • 进入
      ~/下载
      目录下:
      cd ~/下载
    • 安装MySQL:
      sudo dpkg -i mysql*.deb
      sudo apt install -f #修复依赖
      安装步骤可参考这个
    • 配置MySQL: MySQL数据库配置文件位于
      /etc/mysql
      目录下,
      mysqld
      配置位于
      /etc/mysql/mysql.conf.d
      目录下,
      mysql
      配置位于
      /etc/mysql/conf.d
      目录下。可在此修改配置。
    • 编码统一修改为utf8:修改
      mysqld
      配置文件加一行
      character_set_server=utf8

    卸载MySQL

    1. 首先在系统终端中查看MySQL的依赖项,运行命令:
      dpkg --list|grep mysql
    2. 卸载命令:
      sudo apt remove mysql*
    3. 卸载命令:
      sudo apt autoremove --purge mysql-server-5.7
    4. 清除残留数据,运行命令:
      dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
    5. 再次查看MySQL的剩余依赖项,运行命令:
      dpkg --list|grep mysql
    6. 如果仍有依赖,运行命令:
      sudo apt autoremove --purge 依赖
    7. 直至卸载完全。

    使用MySQL

    Mysql的一些常用操作

    1. 查询数据库设置的编码格式
      show variables like '%character_set%';
    2. 修改数据库或者表的编码格式
      alter database/table 数据库名/表名 character set utf8;
    3. 建数据库
      create database 数据库名;
    4. 查数据库
      show databases;
    5. 使用某数据库
      use 数据库名;
    6. 查数据表
      show tables;
    7. 查看表结构
      desc 表名;
    8. 创建表
      create table 表名(
      列名 数据格式及大小 约束条件等,
      ...    ...          ...
      );
    9. 删除表
      drop table 表名;

    踩坑1

    • mysql执行
      source xxx.sql
      报错如下: ERROR:
      Failed to open file ‘‘xxx.sql’’, error: 2
  • 解决方案:
      去掉文件路径的引号。

    踩坑2

    • 更改了
      /etc/mysql
      下的配置文件后,重启mysql失败,报错如下:

      Job for mysql.service failed because the control process exited with error code.
      See “systemctl status mysql.service” and “journalctl -xe” for details.

    • 执行

      systemctl status mysql.service
      结果如下:

      ● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
      Active: failed (Result: exit-code) since Mon 2019-05-27 22:00:25 CST; 1min 21
      Process: 1143 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/my
      Process: 22420 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exi
      Main PID: 1146 (code=exited, status=0/SUCCESS)

      5月 27 22:00:25 yzb-ubuntu systemd[1]: Failed to start MySQL Community Server.
      5月 27 22:00:25 yzb-ubuntu systemd[1]: mysql.service: Service hold-off time over
      5月 27 22:00:25 yzb-ubuntu systemd[1]: mysql.service: Scheduled restart job, res
      5月 27 22:00:25 yzb-ubuntu systemd[1]: Stopped MySQL Community Server.
      5月 27 22:00:25 yzb-ubuntu systemd[1]: mysql.service: Start request repeated too
      5月 27 22:00:25 yzb-ubuntu systemd[1]: mysql.service: Failed with result 'exit-c
      5月 27 22:00:25 yzb-ubuntu systemd[1]: Failed to start MySQL Community Server.

    • 解决方案:

      寻找问题源头

    • cat /var/log/syslog
      寻找mysql进程的详细错误信息:
      May 27 21:53:37 yzb-ubuntu systemd[1]: Starting MySQL Community Server…
      May 27 21:53:37 yzb-ubuntu kernel: [33807.121391] audit: type=1400 audit(1558965217.950:60): apparmor=“DENIED” operation=“open” profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=22120 comm=“mysqld” requested_mask=“r” denied_mask=“r” fsuid=0 ouid=0
      May 27 21:53:38 yzb-ubuntu mysql-systemd-start[22113]: ERROR: Unable to start MySQL server:
      May 27 21:53:38 yzb-ubuntu mysql-systemd-start[22113]: 2019-05-27T13:53:38.001621Z 0 [ERROR] unknown variable 'default-character-set=utf8’
      May 27 21:53:38 yzb-ubuntu mysql-systemd-start[22113]: 2019-05-27T13:53:38.006919Z 0 [ERROR] Aborting
      May 27 21:53:38 yzb-ubuntu mysql-systemd-start[22113]: Please take a look at https://wiki.debian.org/Teams/MySQL/FAQ for tips on fixing common upgrade issues.
      May 27 21:53:38 yzb-ubuntu mysql-systemd-start[22113]: Once the problem is resolved, restart the service.
      May 27 21:53:38 yzb-ubuntu systemd[1]: mysql.service: Control process exited, code=exited status=1
      May 27 21:53:38 yzb-ubuntu systemd[1]: mysql.service: Failed with result ‘exit-code’.
      May 27 21:53:38 yzb-ubuntu systemd[1]: Failed to start MySQL Community Server.
      May 27 21:53:38 yzb-ubuntu systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
      May 27 21:53:38 yzb-ubuntu systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
      May 27 21:53:38 yzb-ubuntu systemd[1]: Stopped MySQL Community Server.
      May 27 21:53:38 yzb-ubuntu systemd[1]: mysql.service: Start request repeated too quickly.
      May 27 21:53:38 yzb-ubuntu systemd[1]: mysql.service: Failed with result ‘exit-code’.
      May 27 21:53:38 yzb-ubuntu systemd[1]: Failed to start MySQL Community Server.

    • 原因找到了 [ERROR] unknown variable 'default-character-set=utf8’

    • 解决方法:进入配置文件,将此行删除即可。

  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: