zoukankan      html  css  js  c++  java
  • Linux安装mysql教程

    安装之前需要先卸载mysql

    1.1、下载压缩包

    1 [root@guohaien package]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

    其中下载地址的获取方法如下所示

    1、打开mysql官网

    2、按下图所示的步骤点击

    3、右键下图标记位置,复制下载地址

    1.2、给mysql目录创建一个用户组和用户,并在mysql目录下创建一个data目录,具体的操作如下所示

    1 [root@guohaien soft]# groupadd mysql
    2 [root@guohaien soft]# useradd -g mysql -d /soft/mysql mysql
    3 [root@guohaien soft]# cd mysql
    4 [root@guohaien mysql]# mkdir data

    1.3、先解压包,后进入文件夹mysql-5.7.25-linux-glibc2.12-x86_64,将里面的内容移动到上面创建的mysql目录下,并删除该文件夹,最后进入到mysql目录中,具体的操作顺序如下所示

    1 [root@guohaien package]# tar zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
    2 [root@guohaien package]# cd mysql-5.7.25-linux-glibc2.12-x86_64
    3 [root@guohaien mysql-5.7.25-linux-glibc2.12-x86_64]# mv * /soft/mysql
    4 [root@guohaien mysql-5.7.25-linux-glibc2.12-x86_64]# cd ..
    5 [root@guohaien package]# rm -rf mysql-5.7.25-linux-glibc2.12-x86_64
    6 [root@guohaien package]# cd ../mysql

    1.4、初始化数据库,初始化的时候会生成一个随机密码,需要记录下来,后面会用到,其中密码在如下图标志的位置

    初始化是可能会出现以下问题

    其中一种输出是如下所示

    ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    这是因为没有安装libaio,只需要执行如下命令即可

    1 [root@guohaien mysql]# yum install -y libaio

    还有可能输出如下结果,这是因为data目录不为空,只需要进入到data目录执行rm -rf *

    2019-03-19T06:04:15.345713Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2019-03-19T06:04:15.347456Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2019-03-19T06:04:15.347485Z 0 [ERROR] Aborting

    1.5、修改mysql.server文件中的basedir和datadir的值,一下是修改文件的命令,和修改的位置

    1 [root@guohaien mysql]# vim support-files/mysql.server

    修改完成按Esc,然后输入wq退出

    1.6、创建配置文件

    给默认的my.cnf文件备份

    1 [root@guohaien mysql]# cp /etc/my.cnf /etc/my.cnf.bak

    可以将my.cnf文件修改为如下所示

    [mysqld]
    basedir=/soft/mysql
    datadir=/soft/mysql/data
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    [client]
    default-character-set=utf8

    1.7、启动mysql服务

    [root@guohaien mysql]# ./support-files/mysql.server start

    若输出以上结果则启动成功

    可以通过如下步骤改变启动的方法,并设置为开机自启动

    1 [root@guohaien mysql]# cp support-files/mysql.server /etc/init.d/mysqld
    2 [root@guohaien mysql]# systemctl enable mysqld
    3 mysqld.service is not a native service, redirecting to /sbin/chkconfig.
    4 Executing /sbin/chkconfig mysqld on

    修改后的mysql服务的启动命令有两种为

    [root@guohaien mysql]# service mysqld start
    [root@guohaien mysql]# systemctl start mysqld

    其中关闭和重启服务只需要将start改为stop和restart即可

    1.8、修改登录密码

    [root@guohaien mysql]# ./bin/mysqladmin -u root -p password
    Enter password: 
    New password: 
    Confirm new password: 
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

    先输入原始密码,在输入两次新密码(其中原始密码即为上面生成的那个随机密码)

    也可以使用如下命令修改密码

    1 [root@guohaien mysql]# ./bin/mysqladmin -uroot -p'原始密码' password '新密码'

    设置完成后就能使用新密码登录数据库

     1 [root@guohaien mysql]# ./bin/mysql -u root -p
     2 Enter password: 
     3 Welcome to the MySQL monitor.  Commands end with ; or g.
     4 Your MySQL connection id is 4
     5 Server version: 5.7.25 MySQL Community Server (GPL)
     6 
     7 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
     8 
     9 Oracle is a registered trademark of Oracle Corporation and/or its
    10 affiliates. Other names may be trademarks of their respective
    11 owners.
    12 
    13 Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    14 
    15 mysql> 

    可以给登录服务创建一个软链接

    [root@guohaien mysql]# ln -s /soft/mysql/bin/mysql /usr/bin/mysql

    这样就能将上面的./bin/mysql 替换为mysql

    1.9、mysql远程授权

    目前只能在该服务器上登录mysql,远程并不能访问,登录mysql后执行如下sql

    mysql> grant all privileges on *.* to 'root'@'%' identified by '密码';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)

    以上即为mysql5.7在centos7.6 64位系统下的安装及配置

    2.1、关闭mysql服务

    1 [root@guohaien /]# service mysqld stop

    2.2、检查是否有rpm包,若是没有用rpm安装过mysql,应该就没有,若是有的话就要删除

    检查的命令

    1 [root@guohaien /]# rpm -qa|grep -i mysql

    删除的命令

    1 [root@guohaien /]# rpm -e 包名

    有时候会有依赖无法删除,可以用命令

    1 root@guohaien /]# rpm -e --nodeps 包名

    2.3、检查是否有mysql相关目录或文件,若有则删除

    检查的命令

    1 [root@guohaien /]# find / -name mysql

    删除的命令

    1 [root@guohaien /]# rm -rf 目录或文件

    2.4、删除mysql用户和分组

    删除用户命令

    1 [root@guohaien /]# userdel mysql

    删除分组命令

    1 [root@guohaien /]# groupdel mysql

    卸载完成后就可以开始安装mysql

  • 相关阅读:
    centos7 使用docker 一键部署服务器
    node 连接mysql失败
    面试必会---模块化
    es6异步解决方案
    centos7 apache后台转nginx后台
    React + Ts 实现三子棋小游戏
    让你的项目使用Ts吧
    ES6 入门系列 ArrayBuffer
    怎么把使用vuepress搭建的博客部署到Github Pages
    Navicat Premium 15安装教程(完整激活版)
  • 原文地址:https://www.cnblogs.com/guohaien/p/10554901.html
Copyright © 2011-2022 走看看