美文网首页mysql
ubuntu 下安装mysql

ubuntu 下安装mysql

作者: sanm1992 | 来源:发表于2018-08-14 17:41 被阅读57次

Linux下安装mysql

  • 采用默认命令行安装,不会提醒输入用户密码,之后会很坑,所以采用如下方式:

    sudo dpkg -i mysql-apt-config_0.8.6-1_all.deb
    # 这里需要注意下载的安装包版本,修改解析命名的版本与之对应
    
    • 安装mysql
    sudo apt-get update
    sudo apt-get install mysql-server
    
    • 在安装过程中根据提示输入密码
    • 启动和关闭musql
    service mysql start
    service mysql stop
    
    • 查看是否启动成功
    sudo netstat -tap | grep mysql
    
    • 卸载mysql
    sudo apt-get autoremove --purge mysql-server-5.0
    sudo apt-get remove mysql-server
    sudo apt-get autoremove mysql-server
    sudo apt-get remove mysql-common 
    
    • 清理残留数据
    dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
    
  • 设置远程连接

    具体思路是修改root的权限,让其可以被其他用户远程访问,网上大多方案是通过语句

    GRANT ALL ON *.* TO 'root'@'%';
    

    为root用户(或者是其他用户)设置权限,但我试了几次都是失败的,都报错了,

    ERROR 1410 (42000): You are not allowed to create a user with GRANT
    

    鼓捣了许久,看到别人的博客,一语惊醒梦中人。其实上面我们已经知道,就是修改root或者某个用户的访问权限,其次,我们知道mysql数据库安装完成后有默认的mysql数据库,里面有个user表,数据就是默认的系统用户的一些信息,包括权限。现在来查看user表到底有些什么:

    select host,user,authentication_string,plugin from user;
    
    

    我们看host和user两列,host和user中root对应的值为localhost,即root用户的访问权限为localhost,想把该用户的访问权限设置可远程连接,我们只需要把localhost更改为通 的%就可以了。上面的权限操作语句没有走通,这里就直接使用update语句来更改吧。

    update user set host = "%" where user = "root";
    

    修改完之后刷新数据库权限就ok了

    flush privileges;
    

    但当我测试连接的时候,navicat for mysql 连接报错1251,然后网上找到解决方法:原来是8.0的版本,因为比较新的mysql采用新的保密方式所以旧的似乎不能用,改密码方式

    use mysql;
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
    flush privileges;
    

    到此,连接成功;

参考博文:https://blog.csdn.net/hbysj/article/details/80819123

相关文章

网友评论

    本文标题:ubuntu 下安装mysql

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