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,搞定,可以接下來的學習了~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM