美文网首页我爱编程
Ubuntu中MySQL的安装与常见错误

Ubuntu中MySQL的安装与常见错误

作者: 一个大布丁 | 来源:发表于2017-07-17 10:50 被阅读0次

    Ubuntu安装MySQL

    • sudo apt-get install mysql-server
    • sudo apt-get install mysql-client
    • sudo apt-get install libmysqlclient-dev

    此时安装的是所配的源文件中的最新版的MySQL,如果不想安装这个版本的话,需要搜索软件仓库中的MySQL版本

    • sudo apt-cache search mysql-server
    • sudo apt-cache search mysql-client

    然后安装选中的版本即可,安装mysql-server的过程中会让设置root账户的密码

    设置root密码

    输入两遍密码后等待自动安装即可,安装完成后在/etc/init.d下面会发现一个mysql的服务, 通过service mysql start即可开启(安装完成后默认开启),也可以通过命令service mysql status查看mysql服务的状态。

    通过命令mysql -u root -p可以登录mysql数据库,其中-u表示表示用户名,-p表示密码,命令输入之后提示输入密码。

    输入密码

    输入正确密码后即可进入数据库(注:输入密码时不可见)


    进入数据库

    此时,通过show databases;就可以查看当前的数据库了

    image.png

    Ubuntu中MySQL的常见错误

    1. ERROR 2003 (HY000): Can't connect to MySQL server on '10.10..' (10061)

    命令行报错 Navicat报错

    需要注释掉bind-address = 127.0.0.1
    网上都说是修改/etc/mysql/my.cnf中,但是找了很久没有找到,后来发现其实是在/etc/mysql/mysql.conf.d/mysql.cnf中。

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

    2002错误

    这个问题的原因是mysql的服务没有开启,输入命令service mysql start,然后输入用户密码即可。

    3. ERROR 1130 (HY000): Host '10.10..*' is not allowed to connect to this MySQL server

    1130错误

    错误原因:可能是因为系统数据库mysql中user表中的host是localhost的原因,于是,我尝试把这个值改为自己服务器的ip,果然就好用了,不过用 mysql -u root -p命令就连不上数据库了,需要用mysql -h 服务器ip -u root -p因为默认的连接mysql数据库user表中host的值,而这个命令的默认host是localhost,就连不上了。

    1. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
      mysql -u root -p进入数据库。
    mysql>use mysql
    mysql>update user set host = '%' where user = 'root';
    
    1. 使用终端连接到mysqlmysql -u root -p,然后运行下面的sql
      GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
      这句话的意思是添加一个用户username并且允许在任何ip上通过password登录数据库。
      其中username为数据库的用户名,password是数据库root的密码,%是一个通配符,表示所有的IP均可登录,如果要指定登录IP的话将%修改为指定的IP即可。

    4. ERROR 1045 (28000): Access denied for user 'root'@'10.10.8.78' (using password: YES)

    1045错误

    这个错误时连接用户的密码不正确,输入正确密码连接即可。
    附:修改密码的办法:

    1. 用root权限查看/etc/mysql/debian.cnf文件,普通用户没有查看的权限
      sudo cat /etc/mysql/debian.cnf
    2. 使用debian.cnf文件中[client]下面的user和password进入mysql
    3. 在数据库中运行下面的sql
      update mysql.user set authentication_string=password('newPassword') where user='root'
      注:
      1. newPassword为修改的新密码。
      2. authentication_string为新版mysql数据库的字段,老版本的字段为password
    4. 运行下面的sql然后重启mysql服务service mysql restart
    mysql> flush privileges;
    mysql> \q
    
    1. 重新连接数据库,这个时候应该就已经完美的解决问题了。

    5. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    1820错误
    mysql> SET PASSWORD = PASSWORD('NewPassword');
    mysql> flush privileges;
    mysql> \q
    

    相关文章

      网友评论

        本文标题:Ubuntu中MySQL的安装与常见错误

        本文链接:https://www.haomeiwen.com/subject/rddfkxtx.html