zoukankan      html  css  js  c++  java
  • Centos7.4 安装Mysql 8

    第一部分 CentOS7安装mysql

    1.1 安装前清理工作;

    1.1.1 清理原有的mysql数据库;

    使用以下命令查找出安装的mysql软件包和依赖包:

    rpm -pa | grep mysql

    显示结果如下:

    1 mysql80-community-release-el7-1.noarch
    2 mysql-community-server-8.0.11-1.el7.x86_64
    3 mysql-community-common-8.0.11-1.el7.x86_64
    4 mysql-community-libs-8.0.11-1.el7.x86_64
    5 mysql-community-client-8.0.11-1.el7.x86_64

    使用以下命令依次删除上面的程序

    yum remove mysql-xxx-xxx-
    

    删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件;

    find / -name mysql
    

    可能的显示结果如下:

    1 /etc/logrotate.d/mysql
    2 /etc/selinux/targeted/active/modules/100/mysql
    3 /etc/selinux/targeted/tmp/modules/100/mysql
    4 /var/lib/mysql
    5 /var/lib/mysql/mysql
    6 /usr/bin/mysql
    7 /usr/lib64/mysql
    8 /usr/local/mysql

    根据需求使用以下命令 依次 对配置文件进行删除

    rm -rf /var/lib/mysql
    

      

    1.2 安装mysql

    1.2.1 下面mysql官网提供的mysql repo源

    centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装;

    mysql官网下载链接:mysql repo下载地址 如下:

    1.2.2 使用putty的pscp将文件上传到CentOS

    使用putty将F:盘下刚下好的mysql repo文件上传到Centos/usr/local/mysql文件夹下;

    D:Putty>pscp F:mysql80-community-release-el7-1.noarch.rpm root@192.168.145.136:/usr/local/mysql/

    1.2.3 安装 yum repo文件并更新 yum 缓存;

    rpm -ivh mysql57-community-release-el7-11.noarch.rpm

    执行结果:

    会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

    更新 yum 命令

    1 yum clean all
    2 yum makecache

    1.2.4 使用 yum安装mysql

    当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本;

    第一步: 查看mysql yum仓库中mysql版本,使用如下命令

    yum repolist all | grep mysql

    1.2.5 安装mysql 命令如下:

    yum install mysql-community-server

    1.2.6 开启mysql 服务

    systemctl start mysqld.service

    1.2.7 获取初始密码登录mysql

    mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中;

    cat /var/log/mysqld.log | grep password

    使用初始密码登录mysql

    mysql -u root -p 

    修改初始密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'passowrd';

    另外一种密码加密模式(为了适应sqlyog 或者 navicat 登录 , 因为这些软件目前还没mysql最新版的密码加密方式,登录用的还是老模式):

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 

    设置Mysql可以远程访问

    use mysql;
    select host,user,authentication_string,plugin from user;
    update user set host='%' where user='root';
    

      

    如果要让数据库表不区分大小写,使用

    vim /etc/my.cnf
    

    在my.cnf文件末尾加入 lower_case_table_names=1 即可.

    注意,如果数据库之前已经有数据了,即已经创建了数据库和表,那么需要把这些数据全部清空掉.否则会造成数据库无法启动.
    如果查看日志一直出现 Different lower_case_table_names settings for server ('1') and data dictionary ('0')
    删除 MySQL的数据 rm -rf /var/lib/mysql
    然后在初始化的时候加入选项:
    [root@myname ]# /usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1 

    2. GROUP BY clause and contains nonaggregated column 'xxxxxxxxxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    这是因为SELECT @@global.sql_mode;为only_full_gro up_by,解决方法是在编辑: cat /etc/my.cnf ,加入一行:

    sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

    然后重起:systemctl restart mysqld.serivice

    1.2.8 将mysql 服务加入开机启动项,并启动mysql进程

    systemctl enable mysqld.service
    systemctl start mysqld.service

    常用mysql服务命令:

    登录mysql
    mysql -u username -p
     
    退出mysql 
    quit
     
    启动mysql
    systemctl start mysqld.service
     
    结束
    systemctl stop mysqld.service
     
    重启
    systemctl restart mysqld.service
     
    开机自启
    systemctl enable mysqld.service
     
    查看mysql版本
    select version();

     

  • 相关阅读:
    尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言
    Java 还是 C++?
    计划的回报
    阶段4:校订
    阶段3:开始创建
    阶段2:如何构建?
    阶段1:要制作什么?
    阶段0:拟出一个计划
    不要迷失
    分析和设计
  • 原文地址:https://www.cnblogs.com/cearnach/p/9467506.html
Copyright © 2011-2022 走看看