美文网首页
CentOS7安装MySQL5.7详细过程

CentOS7安装MySQL5.7详细过程

作者: FocusBiao | 来源:发表于2018-06-28 15:04 被阅读0次

    1.解压安装包到/usr/local目录下

    [root@localhost local]# tar -xzvf mysql-5.7.22-el7-x86_64.tar.gz
    .
    ..
    ...
    mysql-5.7.22-el7-x86_64/lib/libmysqlclient.so.20.3.9
    mysql-5.7.22-el7-x86_64/share/install_rewriter.sql
    mysql-5.7.22-el7-x86_64/share/uninstall_rewriter.sql
    mysql-5.7.22-el7-x86_64/support-files/magic
    mysql-5.7.22-el7-x86_64/support-files/mysql.server
    mysql-5.7.22-el7-x86_64/docs/INFO_BIN
    mysql-5.7.22-el7-x86_64/docs/INFO_SRC

    2.讲解压文件夹名称更改为mysql,方便操作

    [root@localhost local]# mv mysql-5.7.22-el7-x86_64 mysql

    3.卸载本机mariadb

    1.查看本机是否安装了mariadb

    [root@localhost local]# rpm -qa|grep mariadb
    mariadb-libs-5.5.56-2.el7.x86_64

    2.卸载所有相关安装包

    [root@localhost local]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

    3.检查是否卸载完毕

    [root@localhost local]# rpm -qa|grep mariadb
    [root@localhost local]# rpm -qa|grep mysql

    4.创建mysql组与用户

    1.检查mysql组和用户是否存在

    [root@localhost local]# cat /etc/group | grep mysql
    [root@localhost local]# cat /etc/passwd |grep mysql
    [root@localhost local]# cd /

    2.创建mysql组与用户

    [root@localhost /]# groupadd mysql
    [root@localhost /]# useradd -r -g mysql mysql

    5.在/usr/local/mysql目录下创建data目录

    [root@localhost /]# cd usr/local/mysql
    [root@localhost mysql]# mkdir data

    把mysql文件夹权限给mysql用户

    [root@localhost mysql]# cd ..
    [root@localhost local]# chown -R mysql mysql/
    [root@localhost local]# chgrp -R mysql mysql/
    [root@localhost local]# cd mysql/
    [root@localhost mysql]# ls -l

    总用量 36
    drwxr-xr-x. 2 mysql mysql 4096 6月 28 09:31 bin
    -rw-r--r--. 1 mysql mysql 17987 3月 4 21:40 COPYING
    drwxr-xr-x. 2 mysql mysql 6 6月 28 09:36 data
    drwxr-xr-x. 2 mysql mysql 55 6月 28 09:31 docs
    drwxr-xr-x. 3 mysql mysql 4096 6月 28 09:31 include
    drwxr-xr-x. 5 mysql mysql 229 6月 28 09:31 lib
    drwxr-xr-x. 4 mysql mysql 30 6月 28 09:31 man
    -rw-r--r--. 1 mysql mysql 2478 3月 4 21:40 README
    drwxr-xr-x. 28 mysql mysql 4096 6月 28 09:31 share
    drwxr-xr-x. 2 mysql mysql 90 6月 28 09:31 support-files

    6.配置my.cnf

    接下来进入/usr/local/mysql/support-files/目录下
    查看是否存在my-default.cnf文件,如果存在直接copy到/etc/my.cnf文件中

    1.存在my-default.cnf文件,直接拷贝

    [root@localhost mysql] cp -a ./support-files/my-default.cnf /etc/my.cnf

    2.不存在,自己创建

    [root@localhost mysql]# cd /etc/
    [root@localhost etc]# vim my.cnf
    将一下内容写进该文件中
    [mysql]
    basedir=/usr/local/mysql/
    datadir=/usr/local/mysql/data/
    port=3306
    character-set-server=utf8

    7.初始化数据库并记住初始密码

    [root@localhost etc]# cd /usr/local/mysql
    [root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    2018-06-28T02:35:24.978649Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-06-28T02:35:26.544137Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2018-06-28T02:35:26.920614Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2018-06-28T02:35:27.106689Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: eaa5485a-7a7b-11e8-9834-206a8a6a0f23.
    2018-06-28T02:35:27.143719Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2018-06-28T02:35:27.144806Z 1 [Note] A temporary password is generated for root@localhost: &Tz:BUAtR9wK(记住此密码)

    8.启动服务

    [root@localhost mysql]# cd bin
    [root@localhost bin]# ./mysqld_safe --user=mysql &
    [2] 24843
    [1] 退出 127 mysqld_safe --user=mysql
    [root@localhost bin]# Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
    2018-06-28T02:37:28.992414Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
    停住无反应,ctrl+c回到命令行

    9.将mysqld服务加入开机自启动项。

    [root@localhost mysql]# cd ../support-files
    /support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务,
    [root@localhost support-files]# cp mysql.server /etc/init.d/mysql
    [root@localhost support-files]# chmod +x /etc/init.d/mysql
    [root@localhost support-files]# chkconfig --add mysql
    [root@localhost support-files]# chkconfig --list mysql
    1.查看是否加入服务
    [root@localhost bin]# chkconfig --list mysql

    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。
    要列出 systemd 服务,请执行 'systemctl list-unit-files'。
    查看在具体 target 启用的服务请执行
    'systemctl list-dependencies [target]'。
    mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关

    2.查看服务状态
    [root@localhost bin]# service mysql status
    SUCCESS! MySQL running (24919)'

    10.登录mysql

    [root@localhost bin]# ./mysql -u root -p
    Enter password: (输入第11步生成的初始密码)
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.22

    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    11.查询所有数据库,提示必须先修改密码

    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    12.修改数据库密码

    mysql> set password=password("123456");
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | sys |
    +--------------------+
    4 rows in set (0.33 sec)

    13.设置远程登录权限

    mysql> grant all privileges on . to'root'@'%' identified by '123456';
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    mysql> quit
    Bye

    14.防火墙开启3306端口

    centos默认使用firewalld防火墙,使用一下命令设置添加3306端口

    [root@localhost bin]# systemctl stop firewalld.service
    [root@localhost bin]# systemctl disable firewalld.service
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    [root@localhost bin]# systemctl start firewalld
    [root@localhost bin]# firewall-cmd --reload
    success

    [root@localhost bin]# firewall-cmd --permanent --query-port=3306/tcp
    no
    [root@localhost bin]# firewall-cmd --permanent --add-port=3306/tcp
    success

    [root@localhost bin]# firewall-cmd --reload
    success
    [root@localhost bin]# firewall-cmd --permanent --query-port=3306/tcp
    yes

    15.远程连接

    root
    123456

    相关文章

      网友评论

          本文标题:CentOS7安装MySQL5.7详细过程

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