暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Ubuntu下安装Mysql以及连接

zzhou的学习平台 2021-03-27
851

Ubuntu安装Mysql

在虚拟机上安装Ubuntu

  1. 安装VMPlayer

    VM官网下载链接:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

    下载之后傻瓜式下一步安装即可。

  2. 安装Ubuntu

    2.1 Ubuntu官网下载链接:https://ubuntu.com/download/desktop

    2.2 VM新建虚拟机,选择下载的Ubuntu系统。

    屏幕截图 2021-03-21 103916.png


    屏幕截图 2021-03-21 103944.png

2.3 安装系统过程直接一键傻瓜式即可, 如果有需求可以将运行内存调大点。

2.4 等待安装, 时间可能较长, 需要半小时~一小时。安装过程也可以自己跳过部分自己不需要的(建议默认即可)

屏幕截图 2021-03-21 104411.png


2.5 安装完成之后输入自己设置的密码即可登录系统。


屏幕截图 2021-03-21 163551.png

  1. Ubuntu安装Mysql
    3.1 添加MySQL APT存储库

    3.1.1 转到https://dev.mysql.com/downloads/repo/apt/ 上的Mysql APT存储下载界面。

    3.1.2 选择并下载适用于你的Linux发行版的发行包。

    屏幕截图 2021-03-21 165422.png


    3.1.3 使用以下命令安装下载的发行软件包, 并用version-specific-package-name 下载的软件包的名称替换(如果不在软件包所在的文件夹中运行该命令,则以其路径开头):

    sudo dpkg -i PATH/version-specific-package-name.deb

    例如, 对于w.x.y-z软件包的版本,命令为:

    sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb

    3.1.4 在安装软件包的过程中,将要求你选择要安装的MYSQL服务器和其他组件(例如MYSQL Workbench)的版本。如果不去欸的那个要选择哪个版本, 请不要更改为你选择的默认选项。如果你不想安装特定的组件, 则也可以不选择任何一个。在为所有组件做出选择之后,选择确定
    以完成发行包的配置和安装。
    以后您随时可以更改选择, 有关说明,请参见选择主要发行版本。

    屏幕截图 2021-03-21 170237.png


    3.1.5 使用以下命令从MYSQL APT存储库更新软件包信息(此步骤为必须步骤):

    sudo apt-get update

    除了使用发行包之外, 你还可以手动添加和配置MYSQL APT存储库。有关详细信息请参见手动添加和配置MYSQL APT存储库

    屏幕截图 2021-03-21 170416.png


    笔记:

    在系统上启动MYSQL APT存储库后, 在禁用MYSQL APT存储库之前,您将不能够从平台的本机软件存储库安装任何MYSQL软件包。

  2. 使用APT安装MYSQL

    通过以下命令安装Mysql:

    sudo apt-get install mysql-server

    这将安装用于MYSQL服务器的软件包, 以及用于客户端和数据库公用文件的软件包。
    在安装过程中系统要求您为root用户提供密码以进行MYSQL安装。


    屏幕截图 2021-03-21 171612.png

    Important:

    确保记住设置的根密码。以后想要设置密码的用户可以在对话框中将密码
    字段留空, 然后按确定
    , 否则单击确定。
    在这种情况下对服务器的根访问将通过Socket Peer-Credetial Pluggable Authentication 进行身份验证, 以使用Unix套接字文件进行连接。您稍后可以使用程序mysql_secure_installation设置root密码。

  3. 启动和停止MYSQL服务器

    安装后,MSYQL服务器将自动启动。您可以使用以下命令检查MYSQL服务器的状态:

    systemctl status mysql

    如果启用了systemd操作系统, 则应使用标准的systemctl(或具有相反参数的服务)命令(例如stop,start,statusrestart)来管理MSYQL服务器服务。该MYSQL服务默认情况下处于启动状态,并在系统重新启动时启动。有关其他信息, 请参见使用systemd管理mysql服务器 。

    笔记
    一些依赖于本地MSYQL软件包的第三方本机存储软件包可能无法与MYSQL APT存储库软件包一起使用,因此不应与他们一起使用。这些包括akonadi-backend-mysqlhandlersocket-mysql-5.5zoneminder

  4. 选择主要版本

    默认情况下,MYSQL服务器和其他必需组件的所有安装和升级都来自配置包的安装过程中选择的主要版本的发行系列。但是,您可以随时通过重新配置已安装的配置包来切换到另一个受支持的主要发行系列。使用以下命令。

    sudo dpkg-reconfigure mysql-apt-config

    然后,将出现一个对话框,要求您选择所需的主要发行版本。然后选择,然后选择确定。返回命令提示符后,使用以下命令从MYSQL APT存储库更新软件包信息:

    sudo apt-get update

    然后,当你下次使用apt-get install命令时,将安装所选系列中的最新版本。
    您可以使用相同的方法来更改要与MYSQL APT存储库一起安装的任何其他MYSQL组件的版本。

错误提示解决方法

  1. 1251 - Client does not support authentication protocol requested by server;consider upgrading MYSQL client

    1.1 升级Navicat for MYSQL
    1.2 通过命令修改

    $:mysql -u root -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    mysql> FLUSH PRIVILEGES;

  2. ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

    # 确定使用ALTER USER 命令的时候root用户的host是什么.
    $: mysql -u root -p
    mysql> use mysql;
    mysql> select user,host from user;
    +------------------+-----------+
    | user | host |
    +------------------+-----------+
    | root | % |
    | mysql.infoschema | localhost |
    | mysql.session | localhost |
    | mysql.sys | localhost |
    +------------------+-----------+
    # 此时对应的localhost需要改为%去执行ALTER USER命令
    mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

  3. ERROR1698(28000):Access denied for user root@localhost

    3.1 编辑该文件[mysqld]区域,在最下面增加skip-grant-tables
    。(可以不同密码登录进入mysql)

    $: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    $: service mysql restart

    3.2 设置root密码

    $: mysql -u root -p 
    mysql> use mysql;
    mysql> update user set authentication_string=password('Your password') where user='root';
    mysql> flush privileges;

    如果以上指令报错的话,可以尝试使用以下指令

    $: mysql -u root -p
    mysql> use mysql;
    mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'new password';
    mysql> flush privileges;

    3.3 注释掉skip-grant-tables
    .

    $: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    $: service mysql restart

    3.4 此时如果还是报错。

    $: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # 添加skip-grant-tables
    $: mysql -u root -p
    mysql> use mysql
    mysql> select user,plugin from user;
    +------------------+-----------------------+
    | user | plugin |
    +------------------+-----------------------+
    | root | auth_socket |
    | mysql.infoschema | caching_sha2_password |
    | mysql.session | caching_sha2_password |
    | mysql.sys | caching_sha2_password |
    +------------------+-----------------------+
    mysql> update user set authentication_string=password('Your password'),plugin='mysql_native_password' where user='root'
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql';

  4. Ubuntu开关mysql服务

    $:service mysql start
    $:service mysql stop
    $:service mysql restart

  5. Ubuntu开关防火墙:

    sudo ufw status
    sudo ufw enable
    sudo ufw disable

  6. Can't connect to MySQL server on xxx (10061)

    6.1 请先确保能够正常和虚拟机通信

    image.png


    6.2 检查账户名和密码是否正确
    6.3 检查防火墙是否关闭

远程连接

此次使用的是Navicat for mysql 连接

  • Navicat配置:


    image.png

  • 虚拟机查询IP地址

$: sudo apt install net-tools
$: ifconfig

文章转载自zzhou的学习平台,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论