zoukankan      html  css  js  c++  java
  • 阿里云linux6.9 64位安装mysql5.7.23记录

    1.检测是否已经安装了mysql

      rpm -qa | grep mysql

      如果安装了就将其卸载,命令:rpm -e --nodeps  软件名

      比如:rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x86_64

    2.下载mysql 下载地址:https://dev.mysql.com/downloads/mysql/

    https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    3.准备工作

      mkdir /usr/local/mysql

      mv mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar /usr/local/mysql

      cd /usr/local/mysql/

    4解压:tar -xvf mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar

    5.开始安装

      rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

      一般会报缺少依赖,需要我们安装,把下面这些却的都安装上,命令:yum -y install  依赖包    比如:yum -y install libaio.so.1

     

    如果过程出现如下所示,表示需要升级依赖 ,命令:yum  update 名称 ,比如:yum  update libstdc++-4.4.7-4.el6.x86_64

    如果还出现别的情况,请百度

    6.正式开始安装了 

      运行命令 rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm,如下图说明需要先安装这几部分才能安装mysql-community-server-5.7.23-1.el6.x86_64.rpm,跟着提示安装即可

    运行命令如下:

      rpm -ivh mysql-community-common-5.7.23-1.el6.x86_64.rpm

      rpm -ivh mysql-community-libs-5.7.23-1.el6.x86_64.rpm

      rpm -ivh mysql-community-client-5.7.23-1.el6.x86_64.rpm

      rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

     7.安装后查询MySQL服务状态  命令:service mysqld status,如下图:

     输入命令:service mysqld start 启动mysql,如下图,另外常用的还有,service mysqld restart用来重启mysql,service mysqld stop用来停止mysql

    8.查看MySQL第一次按时生成的随机密码:

      查看日志:cat /var/log/mysqld.log,找到密码

    9.登录:

    用该零时密码登陆必须要马上修改的,不然会报错,如下:

    修改密码:SET PASSWORD = PASSWORD('123456');  密码不符合规则也报错,但是我就想使用123456,怎么办?

    修改密码校验规则,输入下面两行命令

      set global validate_password_policy=0;

      set global validate_password_length=1;

    然后修改密码:SET PASSWORD = PASSWORD('123456');

    10.设置系统启动时自动启动mysql

      加入到系统服务:chkconfig --add mysqld

      自动启动:chkconfig mysqld on

      查询列表:chkconfig

    说明:都没关闭(off时是没有自动启动。

    11.然后本机用SQLyog来连接阿里云的我们安装的MySQL,navicat也一样的

    会发现连接失败

    12. 打开阿里云控制台做如下设置,然后连接,不行就重启下

     

     大功告成了!

     问题:mysql只能本地登陆,无法远程登陆

     解决:

    在本地登陆MySQL服务后 

    show databases;    查看数据库并进入mysql数据库  use mysql;

    然后查看用户表    select Host, User  from user;

    输出如下,这几个用户都只能本地登陆

    mysql> select Host, User from user;
    +-----------+---------------+
    | Host | User |
    +-----------+---------------+
    | localhost | mysql.session |
    | localhost | mysql.sys |
    | localhost | root |
    +-----------+---------------+
    3 rows in set (0.00 sec)

    然后修改表数据

    update user set Host='%' where User='root';

    然后刷新

    flush privileges;

    完工就可以使用root用户远程登陆了

    如果上面的还是无法远程登陆,可以试试如下的操作,当我觉得阿里云控制台做的就时设置防火墙的问题,这里记录下,以防万一:

    1.登录mysql:

      mysql -uroot –p123456

    2.设置远程访问(使用root密码):

      grant all privileges on *.* to 'root' @'%' identified by '123456';

      flush privileges;

    3.防火墙打开3306端口

      /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

      /etc/rc.d/init.d/iptables save

      /etc/init.d/iptables status

    navicate 执行语句时可能会报如下错误

    1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    修改 my.cnf 文件的 sql_mode

    获取 sql_mode字段内容: SELECT @@sql_mode;
    去掉 sql_mode字段中的 only_full_group_by
    获得最终要添加的字段
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    在 my.cnf中添加该字段

    查找 my.cnf 文件: find / -name my.cnf 或者 whereis my.cnf
    编辑 my.cnf: vim /etc/my.cnf 将上一步骤的 sql_mode 字段内容添加至 my.cnf
    保存,重启: service mysqld restart

  • 相关阅读:
    PNG文件格式具体解释
    opencv2对读书笔记——使用均值漂移算法查找物体
    Jackson的Json转换
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 单词接龙
  • 原文地址:https://www.cnblogs.com/ENU7/p/9460732.html
Copyright © 2011-2022 走看看