Mysql必知必会学习笔记(二)安装mysql

    通过yum方式安装mysql5.7

一、获取官方yum

[root@localhost mysql_dmp]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
--2020-03-04 23:36:46--  http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11
Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [following]
--2020-03-04 23:36:47--  https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://repo.mysql.com//mysql57-community-release-el7-10.noarch.rpm [following]
--2020-03-04 23:36:48--  https://repo.mysql.com//mysql57-community-release-el7-10.noarch.rpm
Resolving repo.mysql.com (repo.mysql.com)... 72.247.97.40
Connecting to repo.mysql.com (repo.mysql.com)|72.247.97.40|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25548 (25K) [application/x-redhat-package-manager]
Saving to: ‘mysql57-community-release-el7-10.noarch.rpm’

100%[===================================================================================================================>] 25,548      --.-K/s   in 0s      

2020-03-04 23:36:50 (133 MB/s) - ‘mysql57-community-release-el7-10.noarch.rpm’ saved [25548/25548]

-c: No such file or directory
No URLs found in -c.
FINISHED --2020-03-04 23:36:50--
Total wall clock time: 4.0s
Downloaded: 1 files, 25K in 0s (133 MB/s)
[root@localhost mysql_dmp]# ls
mysql57-community-release-el7-10.noarch.rpm

yum安装rpm源

[root@localhost mysql_dmp]# yum -y install mysql57-community-release-el7-10.noarch.rpm
Loaded plugins: fastestmirror, langpacks
Examining mysql57-community-release-el7-10.noarch.rpm: mysql57-community-release-el7-10.noarch
Marking mysql57-community-release-el7-10.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package mysql57-community-release.noarch 0:el7-10 will be installed
--> Processing Conflict: mysql80-community-release-el7-3.noarch conflicts mysql57-community-release
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
No package matched to upgrade: mysql57-community-release
--> Finished Dependency Resolution
Error: mysql80-community-release conflicts with mysql57-community-release-el7-10.noarch
 You could try using --skip-broken to work around the problem
** Found 5 pre-existing rpmdb problem(s), 'yum check' output follows:
containerd.io-1.2.6-3.3.el7.x86_64 has installed conflicts containerd: containerd.io-1.2.6-3.3.el7.x86_64
containerd.io-1.2.6-3.3.el7.x86_64 has installed conflicts runc: containerd.io-1.2.6-3.3.el7.x86_64
ipa-client-4.4.0-12.el7.centos.x86_64 has installed conflicts freeipa-client: ipa-client-4.4.0-12.el7.centos.x86_64
ipa-client-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-client-common: ipa-client-common-4.4.0-12.el7.centos.noarch
ipa-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch

 yum安装mysql

[root@localhost mysql_dmp]# yum -y install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:8.0.19-1.el7 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 8.0.19-1.el7 for package: mysql-community-server-8.0.19-1.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 8.0.11 for package: mysql-community-server-8.0.19-1.el7.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:8.0.19-1.el7 will be installed
--> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.11 for package: mysql-community-client-8.0.19-1.el7.x86_64
---> Package mysql-community-common.x86_64 0:8.0.19-1.el7 will be installed
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
---> Package mysql-community-libs.x86_64 0:8.0.19-1.el7 will be obsoleting
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:8.0.19-1.el7 will be obsoleting
---> Package postfix.x86_64 2:2.10.1-6.el7 will be updated
---> Package postfix.x86_64 2:2.10.1-7.el7 will be an update
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 2:postfix-2.10.1-7.el7.x86_64
--> Running transaction check
---> Package openssl-libs.x86_64 1:1.0.1e-60.el7 will be updated
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-60.el7 for package: 1:openssl-1.0.1e-60.el7.x86_64
---> Package openssl-libs.x86_64 1:1.0.2k-19.el7 will be an update
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-60.el7 will be updated
---> Package openssl.x86_64 1:1.0.2k-19.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                         Arch                       Version                              Repository                             Size
=============================================================================================================================================================
Installing:
 mysql-community-libs                            x86_64                     8.0.19-1.el7                         mysql80-community                     4.0 M
     replacing  mariadb-libs.x86_64 1:5.5.52-1.el7
 mysql-community-libs-compat                     x86_64                     8.0.19-1.el7                         mysql80-community                     1.3 M
     replacing  mariadb-libs.x86_64 1:5.5.52-1.el7
 mysql-community-server                          x86_64                     8.0.19-1.el7                         mysql80-community                     436 M
Installing for dependencies:
 mysql-community-client                          x86_64                     8.0.19-1.el7                         mysql80-community                      41 M
 mysql-community-common                          x86_64                     8.0.19-1.el7                         mysql80-community                     605 k
Updating for dependencies:
 openssl                                         x86_64                     1:1.0.2k-19.el7                      base                                  493 k
 openssl-libs                                    x86_64                     1:1.0.2k-19.el7                      base                                  1.2 M
 postfix                                         x86_64                     2:2.10.1-7.el7                       base                                  2.4 M

Transaction Summary
=============================================================================================================================================================
Install  3 Packages (+2 Dependent packages)
Upgrade             ( 3 Dependent packages)

Total size: 487 M
Total download size: 485 M
Downloading packages:
No Presto metadata available for base
warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.19-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Public key for mysql-community-common-8.0.19-1.el7.x86_64.rpm is not installed
(1/7): mysql-community-common-8.0.19-1.el7.x86_64.rpm                                                                                 | 605 kB  00:00:12     
(2/7): mysql-community-libs-8.0.19-1.el7.x86_64.rpm                                                                                   | 4.0 MB  00:06:14     
(3/7): mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm                                                                            | 1.3 MB  00:01:34     
(4/7): openssl-1.0.2k-19.el7.x86_64.rpm                                                                                               | 493 kB  00:00:00     
(5/7): openssl-libs-1.0.2k-19.el7.x86_64.rpm                                                                                          | 1.2 MB  00:00:01     
mysql-community-client-8.0.19- FAILED                                                                                      ]  12 kB/s |  20 MB  11:05:37 ETA 
http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.19-1.el7.x86_64.rpm: [Errno 12] Timeout on http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.19-1.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(6/7): mysql-community-server-8.0.19-1.el7.x86_64.rpm                                                                                 | 436 MB  07:47:27     
(7/7): mysql-community-client-8.0.19-1.el7.x86_64.rpm                                                                                 |  41 MB  00:59:17     
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                         15 kB/s | 485 MB  08:54:46     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
 Package    : mysql80-community-release-el7-3.noarch (installed)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 5 pre-existing rpmdb problem(s), 'yum check' output follows:
containerd.io-1.2.6-3.3.el7.x86_64 has installed conflicts containerd: containerd.io-1.2.6-3.3.el7.x86_64
containerd.io-1.2.6-3.3.el7.x86_64 has installed conflicts runc: containerd.io-1.2.6-3.3.el7.x86_64
ipa-client-4.4.0-12.el7.centos.x86_64 has installed conflicts freeipa-client: ipa-client-4.4.0-12.el7.centos.x86_64
ipa-client-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-client-common: ipa-client-common-4.4.0-12.el7.centos.noarch
ipa-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch
  Updating   : 1:openssl-libs-1.0.2k-19.el7.x86_64                                                                                                      1/12 
  Installing : mysql-community-common-8.0.19-1.el7.x86_64                                                                                               2/12 
  Installing : mysql-community-libs-8.0.19-1.el7.x86_64                                                                                                 3/12 
  Installing : mysql-community-libs-compat-8.0.19-1.el7.x86_64                                                                                          4/12 
  Installing : mysql-community-client-8.0.19-1.el7.x86_64                                                                                               5/12 
  Installing : mysql-community-server-8.0.19-1.el7.x86_64                                                                                               6/12 
  Updating   : 2:postfix-2.10.1-7.el7.x86_64                                                                                                            7/12 
  Updating   : 1:openssl-1.0.2k-19.el7.x86_64                                                                                                           8/12 
  Cleanup    : 2:postfix-2.10.1-6.el7.x86_64                                                                                                            9/12 
  Erasing    : 1:mariadb-libs-5.5.52-1.el7.x86_64                                                                                                      10/12 
  Cleanup    : 1:openssl-1.0.1e-60.el7.x86_64                                                                                                          11/12 
  Cleanup    : 1:openssl-libs-1.0.1e-60.el7.x86_64                                                                                                     12/12 
  Verifying  : mysql-community-libs-8.0.19-1.el7.x86_64                                                                                                 1/12 
  Verifying  : 2:postfix-2.10.1-7.el7.x86_64                                                                                                            2/12 
  Verifying  : mysql-community-libs-compat-8.0.19-1.el7.x86_64                                                                                          3/12 
  Verifying  : mysql-community-client-8.0.19-1.el7.x86_64                                                                                               4/12 
  Verifying  : 1:openssl-1.0.2k-19.el7.x86_64                                                                                                           5/12 
  Verifying  : mysql-community-common-8.0.19-1.el7.x86_64                                                                                               6/12 
  Verifying  : mysql-community-server-8.0.19-1.el7.x86_64                                                                                               7/12 
  Verifying  : 1:openssl-libs-1.0.2k-19.el7.x86_64                                                                                                      8/12 
  Verifying  : 1:openssl-libs-1.0.1e-60.el7.x86_64                                                                                                      9/12 
  Verifying  : 1:mariadb-libs-5.5.52-1.el7.x86_64                                                                                                      10/12 
  Verifying  : 2:postfix-2.10.1-6.el7.x86_64                                                                                                           11/12 
  Verifying  : 1:openssl-1.0.1e-60.el7.x86_64                                                                                                          12/12 

Installed:
  mysql-community-libs.x86_64 0:8.0.19-1.el7       mysql-community-libs-compat.x86_64 0:8.0.19-1.el7       mysql-community-server.x86_64 0:8.0.19-1.el7      

Dependency Installed:
  mysql-community-client.x86_64 0:8.0.19-1.el7                                  mysql-community-common.x86_64 0:8.0.19-1.el7                                 

Dependency Updated:
  openssl.x86_64 1:1.0.2k-19.el7                    openssl-libs.x86_64 1:1.0.2k-19.el7                    postfix.x86_64 2:2.10.1-7.el7                   

Replaced:
  mariadb-libs.x86_64 1:5.5.52-1.el7                                                                                                                         

Complete!
[root@localhost mysql_dmp]#

 惨了,安装错版本了 rpm -e 卸载掉吧。

也可以通过rpm包的方式安装,我的虚拟机是centos7 安装mysql5.7,需挑选版本mysql-5.7.23-1.el7.x86_64.rpm-bundle

一开始不清楚,选择了mysql-5.7.27-1.fc30.x86_64.rpm-bundle,结果安装时提示各种依赖包,比如:

[root@localhost mysql_dmp]# rpm -ivh mysql-community-server-5.7.27-1.fc30.x86_64.rpm 
error: Failed dependencies:
    libc.so.6(GLIBC_2.28)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libcrypt.so.2()(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libcrypt.so.2(XCRYPT_2.0)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libm.so.6(GLIBC_2.29)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libmecab.so.2()(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libstdc++.so.6(GLIBCXX_3.4.20)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libstdc++.so.6(GLIBCXX_3.4.21)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libstdc++.so.6(GLIBCXX_3.4.26)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libtirpc.so.3()(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    libtirpc.so.3(TIRPC_0.3.0)(64bit) is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    mecab-ipadic is needed by mysql-community-server-5.7.27-1.fc30.x86_64
    mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.27-1.fc30.x86_64

网上查资料,好像GLIBC升级很麻烦,而且可能会出问题。

使用mysql-5.7.23-1.el7.x86_64.rpm-bundle就没这些问题了

安装顺序如下:

[root@localhost mysqlrpm]# rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-5.7.25-1.e################################# [100%]
[root@localhost mysqlrpm]# rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-5.7.25-1.el7################################# [100%]
[root@localhost mysqlrpm]# rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-5.7.25-1.e################################# [100%]
[root@localhost mysqlrpm]# rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-5.7.25-1.e################################# [100%]

启动报错了:

[root@localhost mysqlrpm]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html

Mar 08 18:56:12 localhost.localdomain systemd[1]: Starting MySQL Server...
Mar 08 18:56:46 localhost.localdomain systemd[1]: Started MySQL Server.
Mar 08 20:41:45 localhost.localdomain systemd[1]: Stopping MySQL Server...
Mar 08 20:41:47 localhost.localdomain systemd[1]: Stopped MySQL Server.
[root@localhost mysqlrpm]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost mysqlrpm]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Mon 2020-03-09 02:41:37 PDT; 1min 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 9276 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 9255 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)

Mar 09 02:41:37 localhost.localdomain systemd[1]: mysqld.service: control process exited, code=exited status=1
Mar 09 02:41:37 localhost.localdomain systemd[1]: Failed to start MySQL Server.
Mar 09 02:41:37 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
Mar 09 02:41:37 localhost.localdomain systemd[1]: mysqld.service failed.
Mar 09 02:41:37 localhost.localdomain systemd[1]: mysqld.service holdoff time over, scheduling restart.
Mar 09 02:41:37 localhost.localdomain systemd[1]: start request repeated too quickly for mysqld.service
Mar 09 02:41:37 localhost.localdomain systemd[1]: Failed to start MySQL Server.
Mar 09 02:41:37 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
Mar 09 02:41:37 localhost.localdomain systemd[1]: mysqld.service failed.
[root@localhost mysqlrpm]# 

这个报错日志没看出什么,还是得看mysql日志rpm安装,一般在/var/log/mysqld.log

[root@localhost mysqlrpm]# vim  /var/log/mysqld.log 

2020-03-09T09:52:57.178704Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2020-03-09T09:52:57.178707Z 0 [Note] InnoDB: Using Linux native AIO
2020-03-09T09:52:57.178869Z 0 [Note] InnoDB: Number of pools: 1
2020-03-09T09:52:57.178932Z 0 [Note] InnoDB: Using CPU crc32 instructions
2020-03-09T09:52:57.180265Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2020-03-09T09:52:57.264042Z 0 [Note] InnoDB: Completed initialization of buffer pool
2020-03-09T09:52:57.312551Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2020-03-09T09:52:57.337858Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!
2020-03-09 02:52:57 0x7f95658b7740  InnoDB: Assertion failure in thread 140279630493504 in file ut0ut.cc line 942
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
09:52:57 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.

 

把error拿到百度搜下,好像是因为我之前安装了高版本卸载后安装低版本造成的。

被说对了,我原来安装了mysql8.0,安装卸载改装mysql5.7,然后数据目录存了一些数据,我换成5.7的时候 没有把数据删掉,再重新启动的时候,数据目录还是指向原来的数据,版本的数据格式不一样, 清空 数据目录的数据,数据目录默认是/var/lib/mysql/,找不到可以看看配置文件

[root@localhost mysql_dmp]# mkdir /var/lib/mysql_bak
[root@localhost mysql_dmp]# mv /var/lib/mysql/
auto.cnf            ca.pem              ibdata1             mysql/              public_key.pem      undo_001            
binlog.000001       client-cert.pem     ib_logfile0         mysql.ibd           server-cert.pem     undo_002            
binlog.index        client-key.pem      ib_logfile1         performance_schema/ server-key.pem      
ca-key.pem          ib_buffer_pool      #innodb_temp/       private_key.pem     sys/                
[root@localhost mysql_dmp]# mv /var/lib/mysql/* /var/lib/mysql_bak/
[root@localhost mysql_dmp]# ls /var/lib/mysql
[root@localhost mysql_dmp]# ls /var/lib/mysql_bak/
auto.cnf       ca-key.pem       client-key.pem  ib_logfile0   mysql               private_key.pem  server-key.pem  undo_002
binlog.000001  ca.pem           ib_buffer_pool  ib_logfile1   mysql.ibd           public_key.pem   sys
binlog.index   client-cert.pem  ibdata1         #innodb_temp  performance_schema  server-cert.pem  undo_001
[root@localhost mysql_dmp]# 

情况数据后,便启动成功了!

[root@localhost mysql_dmp]# systemctl start mysqld
[root@localhost mysql_dmp]# ls /var/lib/mysql
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql       mysql.sock.lock     private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       mysql.sock  performance_schema  public_key.pem   server-key.pem
[root@localhost mysql_dmp]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-09 03:13:36 PDT; 12s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 10286 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 10205 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 10289 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─10289 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Mar 09 03:13:30 localhost.localdomain systemd[1]: Starting MySQL Server...
Mar 09 03:13:36 localhost.localdomain systemd[1]: Started MySQL Server.
[root@localhost mysql_dmp]# 

有个小尴尬的地方,using password:YES or NO,其实是说明有没输入密码,一开始还以为是输入的密码正不正确。

[root@localhost mysql_dmp]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@localhost mysql_dmp]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@localhost mysql_dmp]# 

log里有root随机密码,登陆成功!

[root@localhost mysql_dmp]# grep 'temporary password' /var/log/mysqld.log
2020-03-09T01:56:40.997761Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kSZ#Q:-kp3wX
2020-03-09T10:13:31.622511Z 1 [Note] A temporary password is generated for root@localhost: >05:NUhz.>++
[root@localhost mysql_dmp]# mysql -uroot -p>05:NUhz.>++
Enter password: 
[root@localhost mysql_dmp]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.25

Copyright (c) 2000, 2019, 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> 

随机密码很复杂,改成简单密码

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.#必须要先修改密码。。。
mysql> SET PASSWORD = PASSWORD('123456');#MySQL版本5.7.6版本以前用户可以使用
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements#密码策略
mysql> ALTER USER USER() IDENTIFIED BY '123456';#MySQL版本5.7.6版本开始的用户可以使用
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements#密码策略
mysql> SET PASSWORD = PASSWORD('1q2w3e4r');#这也不行。。。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>  SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.#还不给修改策略了
mysql> SET PASSWORD = PASSWORD('kSZ#Q:-kp3wX');#先修改个复杂的吧。
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;#刷新权限表
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

mysql> set global validate_password_policy=LOW;#改成Low,那mysql就只校验长度了
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=6;#把密码长度改成6
Query OK, 0 rows affected (0.00 sec)

mysql> use mysql;#总算进入mysql库了
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set password=password('123456') where user='root';#修改root密码,记得用password函数加密
ERROR 1054 (42S22): Unknown column 'password' in 'field list' #没有password这个field
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
31 rows in set (0.00 sec)
mysql> select t.* from user t where t.User=root;
ERROR 1054 (42S22): Unknown column 'root' in 'where clause'
mysql> select t.* from user t where t.User='root';
+-----------+------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+
| Host      | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                     | password_expired | password_last_changed | password_lifetime | account_locked |
+-----------+------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+
| localhost | root | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | *236C13AD6F120849B1AB0C6C131A37F8C15AF3F1 | N                | 2020-03-09 03:29:44   |              NULL | N              |
+-----------+------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+
1 row in set (0.00 sec)

mysql> update user set authentication_string = password('123456'),password_last_changed=now() where user='root';#原来改成authentication_string了
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

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

 接下来使用数据库连接工具,在交互界面看了乱(不过有些生产环境,为了安全考虑,只允许在交互界面查询sql)。

 

 mysql默认不允许远程主机,修改下,%表示允许所有主机连接。

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set host ='%' where user ='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

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

mysql> 

 

 

 

 

OK,搞定,可以接下来的学习了~

 

posted @ 2020-03-09 18:57  爬行的龟  阅读(1167)  评论(0编辑  收藏  举报
如有错误,欢迎指正 邮箱656521736@qq.com