zoukankan      html  css  js  c++  java
  • centerOS 7 安装MySql

    1.彻底删除已安装mysql

    1)   yum remove  mysql mysql-server mysql-libs mysql-server;

    删除云服务

    2)   find / -name mysql

    查找服务器上有什么跟mysql相关的,删除它

    rm -rf /var/lib/mysql

        3) rpm -qa|grep mysql

    (查询出来的东东yum remove掉)

    4) rm /etc/my.cnf

    2.重新安装mysql

    1) 下载mysql源安装包(连接应该是对的,我自己是下载后上传的)

    wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

    这里也可以下载后上传到服务器,因为我是centerOS7,所以选的是Linux 7那个,最开始选的8那个,一直报错找不到依赖库,血的教训

    在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

    传输本地文件到远程 ~表示root目录,xx的是远程的ip地址

    scp mysql80-community-release-el7-3.noarch.rpm root@xx.xx.xxx.xxx:~

    2) 安装mysql源

    yum localinstall mysql80-community-release-el7-3.noarch.rpm

    3) 检查mysql源是否安装成功

    yum repolist enabled | grep "mysql.*-community.*"

    4) 安装MySQL

    yum install mysql-community-server

    设置远程连接在启动前修改/etc/my.cnf,将下面这句前的#去掉(没有这句话就加上)

    default-authentication-plugin=mysql_native_password

    设置这个是因为我这里用的navicat连接,而navicat的加密方式只支持以前的"mysql_native_password"

    启动

    systemctl start mysqld

    查看启动状态

    systemctl status mysqld

    设置root账号和远程连接

    1.修改root密码

    1)查看系统随机生成的密码

    grep 'temporary password' /var/log/mysqld.log

    2)用随机密码登录

    mysql -u root -p

    3)用命令修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';#注意位数和种类至少大+写+小写+符号+数字

    2.远程连接

    1)选择 mysql 数据库(sql命令都是以 ';' 结束,不要写丢了)

    use mysql;

    2)在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

    select host, user, authentication_string, plugin from user;

    可以看到root用户的host默认为localhost,只允许本地访问,不允许远程连接..

    (root账户的plugin应该是mysql_native_password,设置my.cnf完成的,这里的图是别人的)

    为了安全(网上都是这么说的),新创建一个用户用于远程连接

    3)新建用户

    #CREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; 

    # 这里的主机为localhost表示只能本机登录,%表示所有的机器都可以,也可以设置特定的ip才能登录

    CREATE USER 'origin'@'%' IDENTIFIED BY 'Origin1111?';   #注意密码位数和种类至少大+写+小写+符号+数字

    4)mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password"

    前面没有设置my.cnf文件的,可以这样修改加密方式

    ALTER USER 'origin'@'%' IDENTIFIED WITH mysql_native_password BY 'Origin1111?';

    修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是"mysql_native_password"

    5)设置该账户可以远程登陆

    GRANT ALL PRIVILEGES ON *.* TO 'origin'@'%';

    6)刷新权限

    flush privileges;

    7)用navicat连接看是否可以远程登陆,默认端口为3306,如果不能,则查看防火墙是否开启了该端口。

    查看防火墙开放端口:iptables-save

    我这里已经开了.如果没开,则执行以下命令:

    添加端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

    重载防火墙:firewall-cmd --reload

    8)现在就可以用navicat连接了(其他的连接工具应该就那个加密方式不一样,我猜,哈哈)

      

    参考链接

    https://blog.csdn.net/zhuangweizhan/article/details/104289424

    https://www.cnblogs.com/lylongs/p/11048714.html

    https://www.linuxidc.com/Linux/2016-09/135288.htm

  • 相关阅读:
    [Android学习系列11]关于Android数据存储的一些事
    [PHP系列1]session和cookie的一些事
    [Android学习系列10]关于Task,Activity,BackStack的一些事
    [Android学习系列9]关于Fragment的一些事
    [Android学习系列8]数据库ormlite笔记
    [Android学习系列7]数据库学习笔记
    JAVA与C++对比 --– 虚函数、抽象函数、抽象类、接口
    iOS常用控件尺寸大集合
    ios 几种快速写法
    一些好的IOS blog 不断增加中。。。。
  • 原文地址:https://www.cnblogs.com/grein/p/12895174.html
Copyright © 2011-2022 走看看