不积跬步无以至千里。【荀子:劝学】

01
MySQL 8.0.20
MySQL,目前为止最新的版本为:8.0.20;
它的发布时间是:2020-04-27
它的意思是:
当前MySQL:
主版本号:8
次版本号:0
修订版本号:20
这个信息可以从Oracle官方的MySQL产品的release页获取,地址如下:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/

而关于MySQL数据库所支持的操作系统的信息可以通过下面的官方地址获取:
https://www.mysql.com/support/supportedplatforms/database.html

02
参考资料
本文参考Oracle官方的MySQL 8.0的安装手册,部署MySQL 8.0.20
我的实验环境为:RHEL 7.8
[root@mysql software]# cat etc/redhat-releaseRed Hat Enterprise Linux Server release 7.8 Beta (Maipo)[root@mysql software]#
因此,我参考的官方文档也是Linux的安装手册
Oracle官方的MySQL手册的地址:
https://dev.mysql.com/doc/refman/8.0/en/linux-installation.html
官方文档为英文;
这里,我会翻译为中文,并且在自己的环境中跟上每一步的详细命令及其反馈信息;
03
多种安装方式可以供选择
Linux支持使用多种方式安装MySQL;
但是,我们建议你选择Oracle发行版中的一个进行安装,可供选择的方案如下:

在这里,我选择【RPM Download a specific package】
RPM的安装包可以从官方的下载页下载:
https://dev.mysql.com/downloads/mysql/
在下载页中,选择你的操作系统【Red Hat Enterprise Linux Oracle Linux】
然后,选择你的操作系统的版本【Red Hat Enterprise Linux 7 Oracle Linux 7 (x86, 64-bit)】
如下:

最后,下载上图中标注的【RPM Bundle】即可。
下载到本地后,上传要安装MySQL的服务器上:
可以通过Linux的【rz】命令执行上传:
先切换到希望将文件【上传到的目录】,然后执行【rz】命令:

【rz】命令,会在终端工具中打开一个文件选择窗口;
将你需要上传的文件,在上方的框体中找到后;
【Add】到下方的窗体;
然后,【Ok】就会关掉【rz】弹出的窗口,并且,在命令行中执行传输,如下所示:

当传输完成后,就可以看到,启动【rz】的时候所在的【当前目录】中,已经有了刚刚上传的文件:
[root@mysql software]# pwd/software[root@mysql software]#[root@mysql software]# ls -ltrtotal 0[root@mysql software]#[root@mysql software]# rzrz waiting to receive.Starting zmodem transfer. Press Ctrl+C to cancel.Transferring mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar...100% 815000 KB 14553 KB/sec 00:00:56 0 Errors[root@mysql software]#[root@mysql software]# ls -ltrtotal 815000-rw-r--r--. 1 root root 834560000 Jun 2 21:05 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar[root@mysql software]# du -sh *796M mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar[root@mysql software]#
解压安装包:
[root@mysql software]# ls -ltrtotal 815000-rw-r--r--. 1 root root 834560000 Jun 2 21:05 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar[root@mysql software]#[root@mysql software]# tar -xf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar[root@mysql software]#[root@mysql software]# ls -ltrtotal 1630004-rw-r--r--. 1 7155 31415 48822048 Mar 27 20:14 mysql-community-client-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 623508 Mar 27 20:14 mysql-community-common-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 8129988 Mar 27 20:14 mysql-community-devel-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 23599996 Mar 27 20:14 mysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 4667884 Mar 27 20:14 mysql-community-libs-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 1277128 Mar 27 20:14 mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 512057468 Mar 27 20:15 mysql-community-server-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 235369940 Mar 27 20:16 mysql-community-test-8.0.20-1.el7.x86_64.rpm-rw-r--r--. 1 root root 834560000 Jun 2 21:05 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar[root@mysql software]#
可以看到,解压出了很多【RPM】包;
关于这些【RPM】包的说明:
Oracle以双重授权(Dual Licensed)的方式发布MySQL;
如果你下载的是【GPL】的MySQL:

如果你下载的是【Enterprise 商业许可协议(Commercial License)】的MySQL:

04
制作YUM本地源
一、命令:createrepo
制作YUM源之前,先确保你的Linux安装了工具【createrepo】
[root@mysql software]# rpm -qa | grep createrepocreaterepo-0.9.9-28.el7.noarch[root@mysql software]#[root@mysql software]# yum list | grep createrepoglobal name 'warnOrGiveUsageMessage' is not definedcreaterepo.noarch 0.9.9-28.el7 @anaconda/7.8[root@mysql software]#
如上,我安装了createrepo,并且是在Linux系统安装的时候自动安装的(因为@anaconda)
如果你的环境里没有createrepo,可以通过下面的命令进行安装:
yum install -y createrepo
二、制作YUM源
对前面的MySQL安装介质的解压目录执行YUM源的制作:
[root@mysql software]# pwd/software[root@mysql software]#[root@mysql software]# lsmysql-8.0.20-1.el7.x86_64.rpm-bundle.tarmysql-community-client-8.0.20-1.el7.x86_64.rpmmysql-community-common-8.0.20-1.el7.x86_64.rpmmysql-community-devel-8.0.20-1.el7.x86_64.rpmmysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpmmysql-community-libs-8.0.20-1.el7.x86_64.rpmmysql-community-libs-compat-8.0.20-1.el7.x86_64.rpmmysql-community-server-8.0.20-1.el7.x86_64.rpmmysql-community-test-8.0.20-1.el7.x86_64.rpm[root@mysql software]#[root@mysql software]# createrepo software/Spawning worker 0 with 8 pkgsWorkers FinishedSaving Primary metadataSaving file lists metadataSaving other metadataGenerating sqlite DBsSqlite DBs complete[root@mysql software]#[root@mysql software]# lsmysql-8.0.20-1.el7.x86_64.rpm-bundle.tarmysql-community-client-8.0.20-1.el7.x86_64.rpmmysql-community-common-8.0.20-1.el7.x86_64.rpmmysql-community-devel-8.0.20-1.el7.x86_64.rpmmysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpmmysql-community-libs-8.0.20-1.el7.x86_64.rpmmysql-community-libs-compat-8.0.20-1.el7.x86_64.rpmmysql-community-server-8.0.20-1.el7.x86_64.rpmmysql-community-test-8.0.20-1.el7.x86_64.rpmrepodata[root@mysql software]# ls -ltr repodata/total 256-rw-r--r--. 1 root root 3993 Jun 2 22:37 568657c8cd2ea7d517f173563894a85b905a275cdc415c8d20d004776fdcab9d-primary.xml.gz-rw-r--r--. 1 root root 1643 Jun 2 22:37 b4d714eef8e7df8c3795205afcd49aca7f74030bee9848f6063135701df32299-other.xml.gz-rw-r--r--. 1 root root 125476 Jun 2 22:37 9d2b015d292b0a04d502f978fc37a103c321124a76e224e830ab79c2192ddc43-filelists.xml.gz-rw-r--r--. 1 root root 3635 Jun 2 22:37 1971f8702ae5f3a80c854d0fdaa76a25132a39f1da93fe7bafb1b5a1aa37b2ce-other.sqlite.bz2-rw-r--r--. 1 root root 103431 Jun 2 22:37 998e1f4fac6da85f33bc85415d51d10be4e98c701f918dab0f3deb73c7de79b6-filelists.sqlite.bz2-rw-r--r--. 1 root root 2983 Jun 2 22:37 repomd.xml-rw-r--r--. 1 root root 11980 Jun 2 22:37 7afd16d37a0732ee0b4b26061803d720a1a6dfbbad9670c3816c078bd2f2ce29-primary.sqlite.bz2[root@mysql software]#
如上,这样YUM源就制作好了。
三、将YUM源注册到当前Linux系统中
[root@mysql yum.repos.d]# pwd/etc/yum.repos.d[root@mysql yum.repos.d]#[root@mysql yum.repos.d]# ls -ltrtotal 8-rw-r--r--. 1 root root 358 Jun 2 20:39 redhat.repo-rw-r--r--. 1 root root 55 Jun 2 22:39 local.repo[root@mysql yum.repos.d]#[root@mysql yum.repos.d]# cat local.repo[local]name=localbaseurl=file:///softwaregpgcheck=0[root@mysql yum.repos.d]#
四、验证
[root@mysql yum.repos.d]# yum repolistLoaded plugins: langpacks, product-id, search-disabled-repos, subscription-: managerThis system is not registered with an entitlement server. You can use subscription-manager to register.global name 'warnOrGiveUsageMessage' is not definedlocal | 2.9 kB 00:00local/primary_db | 12 kB 00:00repo id repo name statuslocal local 8repolist: 8[root@mysql yum.repos.d]#
可以看到,这时候【yum】命令已经可以识别到名为【local】的YUM仓库;
05
MySQL:安装
在前面的本地YUM仓库配好了以后,就可以通过YUM命令本地安装MySQL了:
[root@mysql ~]# yum list | grep mysql-communityglobal name 'warnOrGiveUsageMessage' is not definedmysql-community-client.x86_64 8.0.20-1.el7 localmysql-community-common.x86_64 8.0.20-1.el7 localmysql-community-devel.x86_64 8.0.20-1.el7 localmysql-community-embedded-compat.x86_64 8.0.20-1.el7 localmysql-community-libs.x86_64 8.0.20-1.el7 localmysql-community-libs-compat.x86_64 8.0.20-1.el7 localmysql-community-server.x86_64 8.0.20-1.el7 localmysql-community-test.x86_64 8.0.20-1.el7 local[root@mysql ~]#[root@mysql ~]# yum install -y mysql-community-serverLoaded plugins: langpacks, product-id, search-disabled-repos, subscription-: managerThis system is not registered with an entitlement server. You can use subscription-manager to register.global name 'warnOrGiveUsageMessage' is not definedResolving Dependencies--> Running transaction check---> Package mysql-community-server.x86_64 0:8.0.20-1.el7 will be installed--> Processing Dependency: mysql-community-common(x86-64) = 8.0.20-1.el7 for package: mysql-community-server-8.0.20-1.el7.x86_64--> Processing Dependency: mysql-community-client(x86-64) >= 8.0.11 for package: mysql-community-server-8.0.20-1.el7.x86_64--> Running transaction check---> Package mysql-community-client.x86_64 0:8.0.20-1.el7 will be installed--> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.11 for package: mysql-community-client-8.0.20-1.el7.x86_64---> Package mysql-community-common.x86_64 0:8.0.20-1.el7 will be installed--> Running transaction check---> Package mariadb-libs.x86_64 1:5.5.65-1.el7 will be obsoleted--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64---> Package mysql-community-libs.x86_64 0:8.0.20-1.el7 will be obsoleting--> Running transaction check---> Package mysql-community-libs-compat.x86_64 0:8.0.20-1.el7 will be obsoleting--> Finished Dependency ResolutionDependencies Resolved================================================================================Package Arch Version Repository Size================================================================================Installing:mysql-community-libs x86_64 8.0.20-1.el7 local 4.5 Mreplacing mariadb-libs.x86_64 1:5.5.65-1.el7mysql-community-libs-compat x86_64 8.0.20-1.el7 local 1.2 Mreplacing mariadb-libs.x86_64 1:5.5.65-1.el7mysql-community-server x86_64 8.0.20-1.el7 local 488 MInstalling for dependencies:mysql-community-client x86_64 8.0.20-1.el7 local 47 Mmysql-community-common x86_64 8.0.20-1.el7 local 609 kTransaction Summary================================================================================Install 3 Packages (+2 Dependent packages)Total download size: 541 MDownloading packages:--------------------------------------------------------------------------------Total 292 MB/s | 541 MB 00:01Running transaction checkRunning transaction testTransaction test succeededRunning transactionInstalling : mysql-community-common-8.0.20-1.el7.x86_64 1/6Installing : mysql-community-libs-8.0.20-1.el7.x86_64 2/6Installing : mysql-community-client-8.0.20-1.el7.x86_64 3/6Installing : mysql-community-server-8.0.20-1.el7.x86_64 4/6Installing : mysql-community-libs-compat-8.0.20-1.el7.x86_64 5/6Erasing : 1:mariadb-libs-5.5.65-1.el7.x86_64 6/6Verifying : mysql-community-libs-compat-8.0.20-1.el7.x86_64 1/6Verifying : mysql-community-common-8.0.20-1.el7.x86_64 2/6Verifying : mysql-community-server-8.0.20-1.el7.x86_64 3/6Verifying : mysql-community-client-8.0.20-1.el7.x86_64 4/6Verifying : mysql-community-libs-8.0.20-1.el7.x86_64 5/6Verifying : 1:mariadb-libs-5.5.65-1.el7.x86_64 6/6Installed:mysql-community-libs.x86_64 0:8.0.20-1.el7mysql-community-libs-compat.x86_64 0:8.0.20-1.el7mysql-community-server.x86_64 0:8.0.20-1.el7Dependency Installed:mysql-community-client.x86_64 0:8.0.20-1.el7mysql-community-common.x86_64 0:8.0.20-1.el7Replaced:mariadb-libs.x86_64 1:5.5.65-1.el7Complete![root@mysql ~]#[root@mysql ~]# mysql -Vmysql Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)[root@mysql ~]#
可以看到,MySQL安装成功,安装的版本是【Ver 8.0.20】
06
MySQL:安装后
看看前面的RPM在Linux上到底安装了哪些文件:
[root@mysql ~]# rpm -qa | grep mysqlmysql-community-common-8.0.20-1.el7.x86_64mysql-community-client-8.0.20-1.el7.x86_64mysql-community-server-8.0.20-1.el7.x86_64mysql-community-libs-compat-8.0.20-1.el7.x86_64mysql-community-libs-8.0.20-1.el7.x86_64[root@mysql ~]#[root@mysql ~]# rpm -ql mysql-community-server/etc/logrotate.d/mysql/etc/my.cnf/etc/my.cnf.d/usr/bin/ibd2sdi/usr/bin/innochecksum/usr/bin/lz4_decompress/usr/bin/my_print_defaults/usr/bin/myisam_ftdump/usr/bin/myisamchk/usr/bin/myisamlog/usr/bin/myisampack/usr/bin/mysql_secure_installation/usr/bin/mysql_ssl_rsa_setup/usr/bin/mysql_tzinfo_to_sql/usr/bin/mysql_upgrade/usr/bin/mysqld_pre_systemd/usr/bin/mysqldumpslow/usr/bin/perror/usr/bin/zlib_decompress/usr/lib/systemd/system/mysqld.service/usr/lib/systemd/system/mysqld@.service/usr/lib/tmpfiles.d/mysql.conf/usr/lib64/mysql/mecab/usr/lib64/mysql/mecab/dic/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/char.bin/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/dicrc/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/left-id.def/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/matrix.bin/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/pos-id.def/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/rewrite.def/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/right-id.def/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/sys.dic/usr/lib64/mysql/mecab/dic/ipadic_euc-jp/unk.dic/usr/lib64/mysql/mecab/dic/ipadic_sjis/usr/lib64/mysql/mecab/dic/ipadic_sjis/char.bin/usr/lib64/mysql/mecab/dic/ipadic_sjis/dicrc/usr/lib64/mysql/mecab/dic/ipadic_sjis/left-id.def/usr/lib64/mysql/mecab/dic/ipadic_sjis/matrix.bin/usr/lib64/mysql/mecab/dic/ipadic_sjis/pos-id.def/usr/lib64/mysql/mecab/dic/ipadic_sjis/rewrite.def/usr/lib64/mysql/mecab/dic/ipadic_sjis/right-id.def/usr/lib64/mysql/mecab/dic/ipadic_sjis/sys.dic/usr/lib64/mysql/mecab/dic/ipadic_sjis/unk.dic/usr/lib64/mysql/mecab/dic/ipadic_utf-8/usr/lib64/mysql/mecab/dic/ipadic_utf-8/char.bin/usr/lib64/mysql/mecab/dic/ipadic_utf-8/dicrc/usr/lib64/mysql/mecab/dic/ipadic_utf-8/left-id.def/usr/lib64/mysql/mecab/dic/ipadic_utf-8/matrix.bin/usr/lib64/mysql/mecab/dic/ipadic_utf-8/pos-id.def/usr/lib64/mysql/mecab/dic/ipadic_utf-8/rewrite.def/usr/lib64/mysql/mecab/dic/ipadic_utf-8/right-id.def/usr/lib64/mysql/mecab/dic/ipadic_utf-8/sys.dic/usr/lib64/mysql/mecab/dic/ipadic_utf-8/unk.dic/usr/lib64/mysql/mecab/etc/usr/lib64/mysql/mecab/etc/mecabrc/usr/lib64/mysql/plugin/usr/lib64/mysql/plugin/adt_null.so/usr/lib64/mysql/plugin/auth_socket.so/usr/lib64/mysql/plugin/authentication_ldap_sasl_client.so/usr/lib64/mysql/plugin/component_audit_api_message_emit.so/usr/lib64/mysql/plugin/component_log_filter_dragnet.so/usr/lib64/mysql/plugin/component_log_sink_json.so/usr/lib64/mysql/plugin/component_log_sink_syseventlog.so/usr/lib64/mysql/plugin/component_mysqlbackup.so/usr/lib64/mysql/plugin/component_validate_password.so/usr/lib64/mysql/plugin/connection_control.so/usr/lib64/mysql/plugin/ddl_rewriter.so/usr/lib64/mysql/plugin/debug/usr/lib64/mysql/plugin/debug/adt_null.so/usr/lib64/mysql/plugin/debug/auth_socket.so/usr/lib64/mysql/plugin/debug/authentication_ldap_sasl_client.so/usr/lib64/mysql/plugin/debug/component_audit_api_message_emit.so/usr/lib64/mysql/plugin/debug/component_log_filter_dragnet.so/usr/lib64/mysql/plugin/debug/component_log_sink_json.so/usr/lib64/mysql/plugin/debug/component_log_sink_syseventlog.so/usr/lib64/mysql/plugin/debug/component_mysqlbackup.so/usr/lib64/mysql/plugin/debug/component_validate_password.so/usr/lib64/mysql/plugin/debug/connection_control.so/usr/lib64/mysql/plugin/debug/ddl_rewriter.so/usr/lib64/mysql/plugin/debug/group_replication.so/usr/lib64/mysql/plugin/debug/ha_example.so/usr/lib64/mysql/plugin/debug/ha_mock.so/usr/lib64/mysql/plugin/debug/innodb_engine.so/usr/lib64/mysql/plugin/debug/keyring_file.so/usr/lib64/mysql/plugin/debug/keyring_udf.so/usr/lib64/mysql/plugin/debug/libmemcached.so/usr/lib64/mysql/plugin/debug/libpluginmecab.so/usr/lib64/mysql/plugin/debug/locking_service.so/usr/lib64/mysql/plugin/debug/mypluglib.so/usr/lib64/mysql/plugin/debug/mysql_clone.so/usr/lib64/mysql/plugin/debug/mysql_no_login.so/usr/lib64/mysql/plugin/debug/rewrite_example.so/usr/lib64/mysql/plugin/debug/rewriter.so/usr/lib64/mysql/plugin/debug/semisync_master.so/usr/lib64/mysql/plugin/debug/semisync_slave.so/usr/lib64/mysql/plugin/debug/validate_password.so/usr/lib64/mysql/plugin/debug/version_token.so/usr/lib64/mysql/plugin/group_replication.so/usr/lib64/mysql/plugin/ha_example.so/usr/lib64/mysql/plugin/ha_mock.so/usr/lib64/mysql/plugin/innodb_engine.so/usr/lib64/mysql/plugin/keyring_file.so/usr/lib64/mysql/plugin/keyring_udf.so/usr/lib64/mysql/plugin/libmemcached.so/usr/lib64/mysql/plugin/libpluginmecab.so/usr/lib64/mysql/plugin/locking_service.so/usr/lib64/mysql/plugin/mypluglib.so/usr/lib64/mysql/plugin/mysql_clone.so/usr/lib64/mysql/plugin/mysql_no_login.so/usr/lib64/mysql/plugin/rewrite_example.so/usr/lib64/mysql/plugin/rewriter.so/usr/lib64/mysql/plugin/semisync_master.so/usr/lib64/mysql/plugin/semisync_slave.so/usr/lib64/mysql/plugin/validate_password.so/usr/lib64/mysql/plugin/version_token.so/usr/lib64/mysql/private/usr/lib64/mysql/private/libprotobuf-lite.so.3.6.1/usr/lib64/mysql/private/libprotobuf.so.3.6.1/usr/sbin/mysqld/usr/sbin/mysqld-debug/usr/share/doc/mysql-community-server-8.0.20/usr/share/doc/mysql-community-server-8.0.20/INFO_BIN/usr/share/doc/mysql-community-server-8.0.20/INFO_SRC/usr/share/doc/mysql-community-server-8.0.20/LICENSE/usr/share/doc/mysql-community-server-8.0.20/README/usr/share/man/man1/ibd2sdi.1.gz/usr/share/man/man1/innochecksum.1.gz/usr/share/man/man1/lz4_decompress.1.gz/usr/share/man/man1/my_print_defaults.1.gz/usr/share/man/man1/myisam_ftdump.1.gz/usr/share/man/man1/myisamchk.1.gz/usr/share/man/man1/myisamlog.1.gz/usr/share/man/man1/myisampack.1.gz/usr/share/man/man1/mysql.server.1.gz/usr/share/man/man1/mysql_secure_installation.1.gz/usr/share/man/man1/mysql_ssl_rsa_setup.1.gz/usr/share/man/man1/mysql_tzinfo_to_sql.1.gz/usr/share/man/man1/mysql_upgrade.1.gz/usr/share/man/man1/mysqldumpslow.1.gz/usr/share/man/man1/mysqlman.1.gz/usr/share/man/man1/perror.1.gz/usr/share/man/man1/zlib_decompress.1.gz/usr/share/man/man8/mysqld.8.gz/usr/share/mysql-8.0/dictionary.txt/usr/share/mysql-8.0/innodb_memcached_config.sql/usr/share/mysql-8.0/install_rewriter.sql/usr/share/mysql-8.0/mysql-log-rotate/usr/share/mysql-8.0/uninstall_rewriter.sql/var/lib/mysql/var/lib/mysql-files/var/lib/mysql-keyring/var/run/mysqld[root@mysql ~]#
上面的文件主要被安装到了这几个目录中:
/var/lib
/var/run
/usr/share/doc
/usr/share/man
/usr/sbin
/usr/lib64/mysql
/usr/lib
/usr/bin
/etc/my.cnf.d
/etc/my.cnf
/etc/logrotate.d/mysql
关于它们的说明可以看官方文档给出的说明:

此外,还在Linux中创建了用户【mysql】
[root@mysql ~]# id mysqluid=27(mysql) gid=27(mysql) groups=27(mysql)[root@mysql ~]#[root@mysql ~]# cat etc/passwd | tail -n 1mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false[root@mysql ~]#[root@mysql ~]# cat etc/group | tail -n 1mysql:x:27:[root@mysql ~]#
07
MySQL:服务启动
对于【Red Hat Enterprise Linux, Oracle Linux, CentOS, and Fedora】可以使用下面的方法启动MySQL服务:
[root@mysql ~]# systemctl status mysqlUnit mysql.service could not be found.[root@mysql ~]#[root@mysql ~]#[root@mysql ~]# systemctl status mysqld● mysqld.service - MySQL ServerLoaded: 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[root@mysql ~]#[root@mysql ~]# systemctl start mysqld[root@mysql ~]#[root@mysql ~]# systemctl status mysqld● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2020-06-02 22:56:51 CST; 3s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 53004 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 53081 (mysqld)Status: "Server is operational"Tasks: 39CGroup: system.slice/mysqld.service└─53081 usr/sbin/mysqldJun 02 22:56:43 mysql systemd[1]: Starting MySQL Server...Jun 02 22:56:51 mysql systemd[1]: Started MySQL Server.[root@mysql ~]#
如上,启动成功;
看看启动后的状态:
端口:
[root@mysql ~]# ps -ef | grep mysqlavahi 1054 1 0 20:25 ? 00:00:00 avahi-daemon: running [mysql.local]mysql 53081 1 2 22:56 ? 00:00:01 usr/sbin/mysqldroot 53136 51753 0 22:57 pts/1 00:00:00 grep --color=auto mysql[root@mysql ~]#[root@mysql ~]# netstat -tupln | grep mysqltcp6 0 0 :::33060 :::* LISTEN 53081/mysqldtcp6 0 0 :::3306 :::* LISTEN 53081/mysqld[root@mysql ~]#
可以看到,MySQL的端口,默认监听【3306】
数据目录:
[root@mysql ~]# cat etc/my.cnf | grep -v "^#"[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid[root@mysql ~]#[root@mysql ~]# ls -ltr var/lib/mysqltotal 176580-rw-r-----. 1 mysql mysql 50331648 Jun 2 22:56 ib_logfile1-rw-r-----. 1 mysql mysql 8585216 Jun 2 22:56 #ib_16384_1.dblwrdrwxr-x---. 2 mysql mysql 8192 Jun 2 22:56 performance_schema-rw-r-----. 1 mysql mysql 56 Jun 2 22:56 auto.cnf-rw-------. 1 mysql mysql 1680 Jun 2 22:56 ca-key.pem-rw-r--r--. 1 mysql mysql 1112 Jun 2 22:56 ca.pem-rw-------. 1 mysql mysql 1676 Jun 2 22:56 server-key.pem-rw-r--r--. 1 mysql mysql 1112 Jun 2 22:56 server-cert.pem-rw-------. 1 mysql mysql 1680 Jun 2 22:56 client-key.pem-rw-r--r--. 1 mysql mysql 1112 Jun 2 22:56 client-cert.pem-rw-r--r--. 1 mysql mysql 452 Jun 2 22:56 public_key.pem-rw-------. 1 mysql mysql 1676 Jun 2 22:56 private_key.pemdrwxr-x---. 2 mysql mysql 143 Jun 2 22:56 mysqldrwxr-x---. 2 mysql mysql 28 Jun 2 22:56 sys-rw-r-----. 1 mysql mysql 5499 Jun 2 22:56 ib_buffer_pooldrwxr-x---. 2 mysql mysql 187 Jun 2 22:56 #innodb_temp-rw-r-----. 1 mysql mysql 16 Jun 2 22:56 binlog.index-rw-r-----. 1 mysql mysql 156 Jun 2 22:56 binlog.000001-rw-------. 1 mysql mysql 6 Jun 2 22:56 mysql.sock.locksrwxrwxrwx. 1 mysql mysql 0 Jun 2 22:56 mysql.sock-rw-r-----. 1 mysql mysql 12582912 Jun 2 22:56 ibtmp1-rw-r-----. 1 mysql mysql 12582912 Jun 2 22:56 ibdata1-rw-r-----. 1 mysql mysql 10485760 Jun 2 22:56 undo_001-rw-r-----. 1 mysql mysql 10485760 Jun 2 22:56 undo_002-rw-r-----. 1 mysql mysql 196608 Jun 2 22:56 #ib_16384_0.dblwr-rw-r-----. 1 mysql mysql 25165824 Jun 2 22:56 mysql.ibd-rw-r-----. 1 mysql mysql 50331648 Jun 2 22:56 ib_logfile0[root@mysql ~]#[root@mysql ~]# du -sh var/lib/mysql175M var/lib/mysql[root@mysql ~]#
可以看到,服务启动后,MySQL的数据目录就被初始化了;
从前面的【my.cnf】还可以看到,默认的MySQL日志文件位于【/var/log/mysqld.log】
修改【root@local】临时的随机密码:
首先要找到随机密码:
[root@mysql ~]# grep 'temporary password' var/log/mysqld.log2020-06-02T14:56:47.844580Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: BN8jGiiulw=&[root@mysql ~]#
修改随机口令:
[root@mysql ~]# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.20Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';Query OK, 0 rows affected (0.01 sec)mysql>mysql> exitBye[root@mysql ~]#
用修改的新的口令登录MySQL:
[root@mysql ~]# mysql -uroot -p'MyNewPass4!'mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 8.0.20 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> exitBye[root@mysql ~]#
可以看到,MySQL的临时口令修改完成。
08
终
至此,最简单的MySQL的安装文档,结束。




