zoukankan      html  css  js  c++  java
  • Centos MySQL 5.7安装、升级教程

    MySQL 5.7安装、升级笔记分享:

    卸载当前的 MySQL

    查看当前 MySQL 版本:

    1
    2
    [root@coderknock ~]# mysql -V
    mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1

    停止 MySQL 服务

    1
    2
    [root@coderknock ~]# service mysqld stop
    Stopping mysqld:      [ OK ]

    备份数据【数据不重要可以忽略】

    备份数据库,升级MySQL通常不会丢失数据,但保险起见,我们需要做这一步。输入命令:

    [root@coderknock ~]# mysqldump -u xxx -h xxx -P 3306 -p --all-databases > databases.sql

    卸载旧版本 MySQL

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    [root@coderknock ~]# yum remove mysql mysql-*
    Loaded plugins: security
    Setting up Remove Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql.i686 0:5.1.73-7.el6 will be erased
    ---> Package mysql-libs.i686 0:5.1.73-7.el6 will be erased
    --> Processing Dependency: libmysqlclient.so.16 for package: 2:postfix-2.6.6-6.el6_7.1.i686
    --> Processing Dependency: libmysqlclient.so.16 for package: perl-DBD-MySQL-4.013-3.el6.i686
    --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: 2:postfix-2.6.6-6.el6_7.1.i686
    --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: perl-DBD-MySQL-4.013-3.el6.i686
    --> Processing Dependency: mysql-libs for package: 2:postfix-2.6.6-6.el6_7.1.i686
    ---> Package mysql-server.i686 0:5.1.73-7.el6 will be erased
    --> Running transaction check
    ---> Package perl-DBD-MySQL.i686 0:4.013-3.el6 will be erased
    ---> Package postfix.i686 2:2.6.6-6.el6_7.1 will be erased
    --> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-16.el6_8.2.i686
    --> Processing Dependency: /usr/sbin/sendmail for package: redhat-lsb-core-4.0-7.el6.centos.i686
    --> Running transaction check
    ---> Package cronie.i686 0:1.4.4-16.el6_8.2 will be erased
    --> Processing Dependency: cronie = 1.4.4-16.el6_8.2 for package: cronie-anacron-1.4.4-16.el6_8.2.i686
    ---> Package redhat-lsb-core.i686 0:4.0-7.el6.centos will be erased
    --> Running transaction check
    ---> Package cronie-anacron.i686 0:1.4.4-16.el6_8.2 will be erased
    --> Processing Dependency: /etc/cron.d for package: crontabs-1.10-33.el6.noarch
    --> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-31.el6.i686
    --> Restarting Dependency Resolution with new changes.
    --> Running transaction check
    ---> Package crontabs.noarch 0:1.10-33.el6 will be erased
    ---> Package sysstat.i686 0:9.0.4-31.el6 will be erased
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =======================================================================================================================================================================================================
     Package     Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Removing:
     mysql     i686    5.1.73-7.el6     @base        2.3 M
     mysql-libs     i686    5.1.73-7.el6     @base        3.9 M
     mysql-server    i686    5.1.73-7.el6     @base        24 M
    Removing for dependencies:
     cronie     i686    1.4.4-16.el6_8.2    @updates        169 k
     cronie-anacron    i686    1.4.4-16.el6_8.2    @updates        38 k
     crontabs     noarch    1.10-33.el6     @anaconda-CentOS-201311291201.i386/6.5    2.4 k
     perl-DBD-MySQL    i686    4.013-3.el6     @base        341 k
     postfix     i686    2:2.6.6-6.el6_7.1    @base        9.3 M
     redhat-lsb-core    i686    4.0-7.el6.centos    @anaconda-CentOS-201311291201.i386/6.5    22 k
     sysstat     i686    9.0.4-31.el6     @base        804 k
     
    Transaction Summary
    =======================================================================================================================================================================================================
    Remove 10 Package(s)
     
    Installed size: 41 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Erasing : mysql-server-5.1.73-7.el6.i686                   1/10
    warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
     Erasing : redhat-lsb-core-4.0-7.el6.centos.i686                  2/10
    /var/tmp/rpm-tmp.Y5QGjy: line 1: lsb_release: command not found
     Erasing : mysql-5.1.73-7.el6.i686                    3/10
     Erasing : perl-DBD-MySQL-4.013-3.el6.i686                   4/10
     Erasing : sysstat-9.0.4-31.el6.i686                    5/10
     Erasing : crontabs-1.10-33.el6.noarch                   6/10
     Erasing : cronie-anacron-1.4.4-16.el6_8.2.i686                  7/10
     Erasing : cronie-1.4.4-16.el6_8.2.i686                   8/10
     Erasing : 2:postfix-2.6.6-6.el6_7.1.i686                   9/10
     Erasing : mysql-libs-5.1.73-7.el6.i686                   10/10
     Verifying : redhat-lsb-core-4.0-7.el6.centos.i686                  1/10
     Verifying : perl-DBD-MySQL-4.013-3.el6.i686                   2/10
     Verifying : mysql-server-5.1.73-7.el6.i686                   3/10
     Verifying : crontabs-1.10-33.el6.noarch                   4/10
     Verifying : sysstat-9.0.4-31.el6.i686                    5/10
     Verifying : cronie-anacron-1.4.4-16.el6_8.2.i686                  6/10
     Verifying : cronie-1.4.4-16.el6_8.2.i686                   7/10
     Verifying : mysql-libs-5.1.73-7.el6.i686                   8/10
     Verifying : mysql-5.1.73-7.el6.i686                    9/10
     Verifying : 2:postfix-2.6.6-6.el6_7.1.i686                   10/10
     
    Removed:
     mysql.i686 0:5.1.73-7.el6     mysql-libs.i686 0:5.1.73-7.el6     mysql-server.i686 0:5.1.73-7.el6    
     
    Dependency Removed:
     cronie.i686 0:1.4.4-16.el6_8.2  cronie-anacron.i686 0:1.4.4-16.el6_8.2 crontabs.noarch 0:1.10-33.el6 perl-DBD-MySQL.i686 0:4.013-3.el6 postfix.i686 2:2.6.6-6.el6_7.1
     redhat-lsb-core.i686 0:4.0-7.el6.centos sysstat.i686 0:9.0.4-31.el6 
     
    Complete!

    这样就卸载完成了,为了保险起见我们检查一下系统中是否还有 MySQL 相关内容没有删除干净

    1
    2
    [root@coderknock ~]# yum list installed | grep mysql
    [root@coderknock ~]#

    上面的情况是没有未删除部分,如果有的话可通过下面的命令删除:

    [root@coderknock ~]# yum remove mysql-libs

    下载最新版本的 MySQL

    查看系统配置信息选择对应 MySQL 包

    1
    2
    [root@coderknock ~]# uname -r
    3.10.104-1.el6.elrepo.i686

    在浏览器打开 sohu提供的MySQL 镜像(官网速度太慢)

    然后根据自己系统配置选择对应的 rpm 包,右键复制文件链接,我的选择如下:

    下载并解压

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Resolving mirrors.sohu.com... 119.188.36.70
    Connecting to mirrors.sohu.com|119.188.36.70|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 448163840 (427M) [application/octet-stream]
    Saving to: “mysql-5.7.17-1.el6.i686.rpm-bundle.tar”
     
    100%[=============================================================================================================================================================>] 448,163,840 9.98M/s in 45s
     
    2017-01-06 22:47:00 (9.54 MB/s) - “mysql-5.7.17-1.el6.i686.rpm-bundle.tar” saved [448163840/448163840]
    [root@coderknock ~]# tar xvf mysql-5.7.17-1.el6.i686.rpm-bundle.tar
    mysql-community-libs-compat-5.7.17-1.el6.i686.rpm
    mysql-community-client-5.7.17-1.el6.i686.rpm
    mysql-community-embedded-devel-5.7.17-1.el6.i686.rpm
    mysql-community-devel-5.7.17-1.el6.i686.rpm
    mysql-community-common-5.7.17-1.el6.i686.rpm
    mysql-community-test-5.7.17-1.el6.i686.rpm
    mysql-community-embedded-5.7.17-1.el6.i686.rpm
    mysql-community-libs-5.7.17-1.el6.i686.rpm
    mysql-community-server-5.7.17-1.el6.i686.rpm

    安装及配置

    安装 rpm 【有依赖关系,请按下面的步骤安装,搜索 [root@coderknock ~]# 可跳过安装日志直接查看相关命令】

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    [root@coderknock ~]# yum localinstall mysql-community-common-5.7.17-1.el6.i686.rpm
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-common-5.7.17-1.el6.i686.rpm: mysql-community-common-5.7.17-1.el6.i686
    Marking mysql-community-common-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-common.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-common    i686    5.7.17-1.el6    /mysql-community-common-5.7.17-1.el6.i686    2.5 M
     
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
     
    Total size: 2.5 M
    Installed size: 2.5 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-common-5.7.17-1.el6.i686                  1/1
     Verifying : mysql-community-common-5.7.17-1.el6.i686                  1/1
     
    Installed:
     mysql-community-common.i686 0:5.7.17-1.el6                   
     
    Complete!
    [root@coderknock ~]# yum localinstall mysql-community-libs-5.7.17-1.el6.i686.rpm
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-libs-5.7.17-1.el6.i686.rpm: mysql-community-libs-5.7.17-1.el6.i686
    Marking mysql-community-libs-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-libs.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-libs    i686    5.7.17-1.el6    /mysql-community-libs-5.7.17-1.el6.i686    7.8 M
     
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
     
    Total size: 7.8 M
    Installed size: 7.8 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-libs-5.7.17-1.el6.i686                  1/1
     Verifying : mysql-community-libs-5.7.17-1.el6.i686                  1/1
     
    Installed:
     mysql-community-libs.i686 0:5.7.17-1.el6                   
     
    Complete!
    [root@coderknock ~]# yum localinstall mysql-community-client-5.7.17-1.el6.i686.rpm
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-client-5.7.17-1.el6.i686.rpm: mysql-community-client-5.7.17-1.el6.i686
    Marking mysql-community-client-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-client.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-client    i686    5.7.17-1.el6    /mysql-community-client-5.7.17-1.el6.i686    87 M
     
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
     
    Total size: 87 M
    Installed size: 87 M
    Is this ok [y/N]: ^[[A^Hy
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-client-5.7.17-1.el6.i686                  1/1
     Verifying : mysql-community-client-5.7.17-1.el6.i686                  1/1
     
    Installed:
     mysql-community-client.i686 0:5.7.17-1.el6                   
     
    Complete!
    [root@coderknock ~]# yum localinstall mysql-community-server-5.7.17-1.el6.i686.rpm
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-server-5.7.17-1.el6.i686.rpm: mysql-community-server-5.7.17-1.el6.i686
    Marking mysql-community-server-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-server.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-server    i686    5.7.17-1.el6    /mysql-community-server-5.7.17-1.el6.i686    695 M
     
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
     
    Total size: 695 M
    Installed size: 695 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-server-5.7.17-1.el6.i686                  1/1
     Verifying : mysql-community-server-5.7.17-1.el6.i686                  1/1
     
    Installed:
     mysql-community-server.i686 0:5.7.17-1.el6                   
     
    Complete!

    配置

    查看版本

    1
    2
    [root@coderknock ~]# mysql -V
    mysql Ver 14.14 Distrib 5.7.17, for Linux (i686) using EditLine wrapper

    启动 MySQL

    1
    2
    3
    [root@coderknock ~]# service mysqld start
    MySQL Daemon failed to start.
    Starting mysqld:   [FAILED]

    上面的情况说明启动失败,这是因为经过上面的步骤,MySQL 最新版已经安装到我们的系统了,但这是还没有初始化数据,所以导致无法启动。

    初始化数据库

    [root@coderknock ~]# mysqld --initialize

    如果遇到错误如下:

    2017-01-06T14:53:08.889803Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2017-01-06T14:53:08.892190Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2017-01-06T14:53:08.892475Z 0 [ERROR] Aborting

    可以运行以下命令【无需再执行 mysqld --initialize】:

    1
    2
    3
    4
    5
    [root@coderknock ~]# rm -rf /var/lib/mysql
    [root@coderknock ~]# service mysqld start
    Initializing MySQL database:  [ OK ]
    Installing validate password plugin: [ OK ]
    Starting mysqld:   [ OK ]

    这样我们就启动了 MySQL 服务

    MySQL 无法登陆的解决办法

    登录时我遇到了一些问题:

    1
    2
    3
    [root@coderknock ~]# mysql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    这是因较新版本的 MySQL 因为安全的考虑,会设置默认密码

    1
    2
    [root@coderknock ~]# grep 'temporary password' /var/log/mysqld.log
    2017-01-06T14:53:33.490540Z 1 [Note] A temporary password is generated for root@localhost: Ei(GLix_p6/1

    这样就找到了密码,如果上面方法不可行可以看看是否有 /root/.mysql_secret 文件

    或者通过以下方法直接修改密码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    [root@coderknock ~]# service mysqld stop
    Stopping mysqld:      [ OK ]
    [root@coderknock ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    [1] 14208
    [root@coderknock ~]# 2017-01-06T15:02:18.663496Z mysqld_safe Logging to '/var/log/mysqld.log'.
    2017-01-06T15:02:18.666764Z mysqld_safe Logging to '/var/log/mysqld.log'.
    2017-01-06T15:02:18.693025Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
    ^C
    [root@coderknock ~]# mysql -u root mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
     
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.7.17 MySQL Community Server (GPL)
     
    Copyright (c) 2000, 2016, 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.
     
    mysql>update mysql.user set authentication_string=password('你的密码.') where User='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 1
    mysql> flush privileges;
    mysql> update mysql.user set Host='%' where User='root'
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 1
    mysql> flush privileges;

    注意SQL在Linux下要注意大小写,执行之后Query OK, 1 row affected, 1 warning (0.00 sec),row 之前是1才代表执行成功了。update mysql.user set Host='%' where User='root' 这句是为了别的 IP 的机器也可以登录我们的MySQL,可以按需执行

    重置密码

    无论是获取到了默认密码还是强行修改了密码。新版 MySQL 在第一次通过密码登录后会无法执行SQL:

    1
    2
    mysql> select host from mysql.user where User='root';
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    这是因为 MySQL 为了安全会要求修改初始密码。

    mysql> ALTER USER 'root'@'%' IDENTIFIED BY '你的密码';

    如果遇到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements说明你的密码太简单,需要设置复杂点的密码,有大小写字母、有数字、有标点基本上就可以通过。
    注意,如果你没有修改过 root 用户的Host或者修改为非 % 的字符,需要对上面的语句进行对应的修改,例如: ALTER USER ‘root'@'localhost' IDENTIFIED BY ‘你的密码'

    如果遇到ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 则需要退出安全模式,正常启动MySQL后登陆再进行以上操作:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mysql> quit
    [root@coderknock ~]# ps -ef|grep mysql
    root 14208 12686 0 23:02 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking
    mysql 14381 14208 0 23:02 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
    root 15148 12686 0 23:23 pts/0 00:00:00 grep mysql
    [root@coderknock ~]# kill -9 114208
    -bash: kill: (114208) - No such process
    [root@coderknock ~]# kill -9 14208
    [1]+ Killed   mysqld_safe --user=mysql --skip-grant-tables --skip-networking
    [root@coderknock ~]# kill -9 1438
    [root@coderknock ~]# service mysqld start
    [root@coderknock ~]# mysql -u root mysql

    2 安装步骤

    2.1 更新 yum

    在使用yum安装 MySQL 前,先更新 yum

    yum update -y
    
    • 1

    2.2 添加 MySQL 的 yum 仓库源

    Mysql 仓库源地址: https://dev.mysql.com/downloads/repo/yum/

    选择 CentOS 7 版本的 mysql 源

    mysql yum 源
    对应的命令操作为:
    安装 wget 工具:

    sudo yum install -y wget 
    
    • 1

    使用 wget 下载 mysql yum 源:

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

    添加 mysql yum 源(在 wget 的下载目录,紧接着上一命令,则无需调整):

    sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
    
    • 1

    安装 yum 工具 yum-utils :

    sudo yum install -y yum-utils
    
    • 1

    查看可用的 mysql :

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

    此时会看到当前可用的 MySQL 版本为 mysql80, 这是因为最新 mysql 最新版为 8.0 版本

    3 选择指定的 mysql 版本

    3.1 查看所有的 mysql 版本

    yum repolist all | grep mysql
    
    • 1

    查询结果:

    mysql 所有版本

    3.2 启用指定版本的 mysql

    在 2.2 中可以看到目前启用(enable)的是 mysql80,如果需要安装 mysql 5.7 ,则需要先禁用(disable) mysql8.0,然后启用(enable)mysql5.7
    禁用 mysql8.0:

    sudo yum-config-manager --disable mysql80-community
    
    • 1

    启用 mysql 5.7

    sudo yum-config-manager --enable mysql57-community
    
    • 1

    校验当前启用(enable)的 mysql 版本是否为 5.7:

    yum repolist enabled | grep mysql
    
    • 1

    查询结果:

    查询当前启用的 mysql 版本
    从结果中可以看出,当前启用的 mysql 版本为 5.7,没有问题

    4 安装 mysql

    在步骤 3 中已经设置启用的mysql版本为 5.7,接下来则直接进行安装

    安装 mysql

    sudo yum install -y mysql-community-server
    
    • 1

    待命令执行结束,安装即完成
    启动 mysql 服务:

    sudo service mysqld start
    
    • 1

    查看 mysql 服务状态:

    sudo service mysqld status
    
    • 1

    5 MySQL 初始化设置

    从 MySQL 5.7 开始,mysql 安装之后,会默认随机生成一个临时密码,因此登录之后需要修改密码

    查看生成的初始密码:

    sudo grep 'temporary password' /var/log/mysqld.log
    
    • 1

    使用初始密码进行登录:

    mysql -u root -p
    
    • 1

    登录成功之后设置新密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    
    • 1

    注意: 设置的新密码必须包含大写字母、小写字母、数字、标点符号,且密码长度至少为 8

    密码设置之后安装即完成

    6 设置 MySQL开机启动

    MySLQ 安装完成之后运行的服务名称为: mysqld
    CentOS 7 使用 systemctl 命令工具操作服务:

    启动停止重启开机启动关闭开机启动
    start stop restart enable disable

    开机启动命令:

    systemctl enable mysqld
    
    • 1

    7 设置远程连接

    登录 mysql(使用新设置的密码)

    mysql -u root -p
    
    • 1

    登录成功之后执行以下命令:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourNewPassword' WITH GRANT OPTION;
    
    • 1

    其中 yourNewPassword 即为刚才设置的新密码
    刷新权限

    FLUSH PRIVILEGES;
    
    • 1

    到这里远程连接已经设置成功

    8 配置文件

    mysql 的配置文件目录为:

    /etc/my.cnf
    
    • 1

    9 推荐参考文档

    官方文档 Installing MySQL on Linux Using the MySQL Yum Repository

    How to allow remote connection to mysql

    卸载方法:

    1.快速删除

    yum remove  mysql mysql-server mysql-libs mysql-server
    

    2.查找残留文件

    rpm -qa | grep -i mysql
    
    1. 将查询出来的文件逐个删除,如:
    yum remove mysql-community-common-5.7.20-1.el6.x86_64
    

    4.查找残留目录

    whereis mysql
    
    1. 逐条删除目录,如:
    rm –rf /usr/lib64/mysql
    

    上述做完后,最好重新查询相关内容,防止漏删

  • 相关阅读:
    496. 下一个更大元素 I『简单』
    492. 构造矩形『简单』
    443. 压缩字符串『简单』
    455. 分发饼干『简单』
    463. 岛屿的周长『简单』
    38. 外观数列『简单』
    28. 实现 strStr()『简单』
    441. 排列硬币『简单』
    628. 三个数的最大乘积『简单』
    575. 分糖果『简单』
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/13664263.html
Copyright © 2011-2022 走看看