Linux下MySQL(8.0.18)的安装


一、mysql8的安装包

链接:https://pan.baidu.com/s/1ZqMtOfwaImmQkhW7pH3Bzw
提取码:tgjd

二、安装(我这里将软件放到了/opt目录下)

1、解压安装包
[root@zhixi opt]# tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar

[root@zhixi opt]# ls
mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar                 mysql-community-libs-8.0.18-1.el7.x86_64.rpm
mysql-community-client-8.0.18-1.el7.x86_64.rpm           mysql-community-libs-compat-8.0.18-1.el7.x86_64.rpm
mysql-community-common-8.0.18-1.el7.x86_64.rpm           mysql-community-server-8.0.18-1.el7.x86_64.rpm
mysql-community-devel-8.0.18-1.el7.x86_64.rpm            mysql-community-test-8.0.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.18-1.el7.x86_64.rpm

2、移动安装包到指定目录
[root@zhixi opt]# mv ./*.rpm /usr/local/mysql/

3、安装软件包
3.1:第一个软件包
[root@zhixi mysql]# rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm 
warning: mysql-community-common-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-8.0.18-1.e################################# [100%]

3.2:第二个软件包(报错了,
        参考:https://blog.csdn.net/study8hard/article/details/102886174
        解决:在后面加上--force --nodeps即可)
[root@zhixi mysql]# rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
warning: mysql-community-libs-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
    libcrypto.so.10()(64bit) is needed by mysql-community-libs-8.0.18-1.el7.x86_64
    libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-libs-8.0.18-1.el7.x86_64
    libssl.so.10()(64bit) is needed by mysql-community-libs-8.0.18-1.el7.x86_64
    libssl.so.10(libssl.so.10)(64bit) is needed by mysql-community-libs-8.0.18-1.el7.x86_64
[root@zhixi mysql]# rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-libs-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-8.0.18-1.el7################################# [100%]
   
3.3:第三个软件包
[root@zhixi mysql]# rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-client-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-8.0.18-1.e################################# [100%]
   
3.4:第四个软件包
[root@zhixi mysql]# rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-server-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-8.0.18-1.e################################# [100%]
[/usr/lib/tmpfiles.d/mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update ttmpfiles.d/ drop-in file accordingly.

4、查看已经安装的mysql-rpm包
[root@zhixi mysql]# rpm -qa | grep mysql
mysql-community-client-8.0.18-1.el7.x86_64
mysql-community-libs-8.0.18-1.el7.x86_64
mysql-community-server-8.0.18-1.el7.x86_64
mysql-community-common-8.0.18-1.el7.x86_64

#卸载已安装的mysql-rpm包命令
rpm -e 软件包名 --nodeps

 三、初始化

1、找到mysql服务的安装地址进行初始化操作
[root@zhixi sbin]# find / -name mysqld 
/run/mysqld
/usr/sbin/mysqld

2、进入到mysqld服务的目录下
[root@zhixi sbin]# cd /run/mysqld/

3、初始化mysql服务,出错
    参考链接:https://blog.csdn.net/weixin_44320761/article/details/107671892
    解决办法:rpm -i compat-openssl10-1.0.2o-3.el8.x86_64.rpm
root@zhixi mysqld]# mysqld --initialize
mysqld: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
[root@zhixi mysqld]# wget http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
--2022-01-27 14:44:08--  http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
Resolving mirror.centos.org (mirror.centos.org)... 13.233.140.107, 2401:78c0::e00e
Connecting to mirror.centos.org (mirror.centos.org)|13.233.140.107|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1186088 (1.1M) [application/x-rpm]
Saving to: ‘compat-openssl10-1.0.2o-3.el8.x86_64.rpm’
compat-openssl10-1.0.2o-3.el8.x86_64. 100%[======================================================================>]   1.13M  1.28MB/s    in 0.9s  
2022-01-27 14:44:10 (1.28 MB/s) - ‘compat-openssl10-1.0.2o-3.el8.x86_64.rpm’ saved [1186088/1186088]

#解决上面报错的问题 [root@zhixi mysqld]# rpm
-i compat-openssl10-1.0.2o-3.el8.x86_64.rpm

#重新执行初始化mysql服务
[root@zhixi sbin]# mysqld --initialize


4、授权 [root@zhixi sbin]# chown mysql:mysql /var/lib/mysql -R 5、开启mysql服务 [root@zhixi sbin]# systemctl start mysqld [root@zhixi sbin]# systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor p> Active: active (running) since Thu 2022-01-27 14:45:28 CST; 6s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 28371 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, stat> Main PID: 28403 (mysqld) Status: "Server is operational" Tasks: 39 (limit: 10751) Memory: 421.0M CGroup: /system.slice/mysqld.service └─28403 /usr/sbin/mysqld Jan 27 14:45:07 zhixi systemd[1]: Starting MySQL Server... Jan 27 14:45:28 zhixi systemd[1]: Started MySQL Server. 6、查看root初始密码 [root@zhixi sbin]# cat /var/log/mysqld.log | grep password 2022-01-27T06:44:35.795688Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hca5)wXdt3yI

四、修改密码以及开启远程访问

1、登录进去mysql
[root@zhixi sbin]# mysql -u root -p
    ……这边输入默认密码,进行登录

2、修改mysql的密码
mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "自己要设置的密码";
Query OK, 0 rows affected (0.01 sec)

3、使操作立即生效
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

4、进入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

5、使操作立即生效
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

五、开启端口与重启防火墙

1、开启防火墙
[root@zhixi sbin]#  systemctl restart firewalld    

2、开放mysql对外访问的端口
[root@zhixi sbin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

连接成功: