Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 385|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-5-21 14:11:05 | 显示全部楼层 |阅读模式

    1、安装MySQL

    Ubuntu 16.04 中,默认情况下,只有最新版本的 MySQL 包含在 APT 软件包存储库中。在撰写本文时,那是 MySQL 5.7

    要安装它,只需更新服务器上的包索引并安装默认包 apt-get

    sudo apt-get update

    sudo apt-get install mysql-server

    系统将提示您在安装过程中创建 root 密码。选择一个安全的密码,并确保你记住它,因为你以后需要它。接下来,我们将完成 MySQL 的配置。

     

    2、配置MySQL

     

    因为是全新安装,您需要运行附带的安全脚本。这会更改一些不太安全的默认选项,例如远程 root 登录和示例用户。在旧版本的 MySQL 上,您需要手动初始化数据目录,但 Mysql 5.7 已经自动完成了。

    运行安全脚本。

     

    sudo mysql_secure_installation

    这将提示您输入您在步骤1中创建的 root 密码。您可以按 Y,然后 ENTER 接受所有后续问题的默认值,但是要询问您是否要更改 root 密码。您只需在步骤 1 中进行设置即可,因此无需现在更改。

    最后,我们来测试MySQL安装。

     

    3、测试MySQL

     

    按上边方式安装完成后,MySQL应该已经开始自动运行了。要测试它,请检查其状态。

    systemctl status mysql.service

     

    您将看到类似于以下内容的输出:

    mysql.service - MySQL Community Server

    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Wed 2016-11-23 21:21:25 UTC; 30min ago Main PID: 3754 (mysqld) Tasks: 28 Memory: 142.3M CPU: 1.994s CGroup: /system.slice/mysql.service └─3754 /usr/sbin/mysqld

    如果MySQL没有运行,您可以启动它:

    sudo systemctl mysql start

     

    4、遇到问题及解决方法

    1)使用navicat远程连接mysql时报错ERROR 2003

    原因就是Mysql数据库的默认配置文件my.cnfubuntu 16.04下是/etc/mysql/mysql.conf.d/mysqld.cnf)中的bind-address默认为127.0.0.1,所以就算你创建了可以 remote访问的用户,你也不能使用mysql -h命令进行访问,若访问就会出现上出问题,因为此时Mysql只接受localhost,所以需要把bind-address = 127.0.0.1屏蔽掉。

    然后重启musql服务

    sudo systemctl restart mysql.service

     

    修改前通过 netstat -an | grep 3306 命令可以看到是本地地址:

    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

     

    修改将该bind-address属性注释掉再重启mysql服务可以发现地址已经变了:

    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

     

    2)使用navicat远程连接mysql时报错ERROR 1130

      原因是无法给远程连接的用户权限问题。如下操作即可解决。

     

    在本机用IP127.0.0.1登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'

     

    mysql -u root -p

    mysql>use mysql;

    mysql>select 'host' from user where user='root';

    mysql>update user set host = '%' where user ='root';

    mysql>flush privileges;

    mysql>select 'host' from user where user='root';

     

    第一句是以权限用户root登录

    第二句:选择mysql

    第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

    第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

    第五句:刷新MySQL的系统权限相关表

    第六句:再重新查看user表时,有修改。

    重起mysql服务即可完成。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-23 09:10 , Processed in 0.055083 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表