MySQL 8.0.16定制路径安装

33 篇文章 1 订阅

MySQL 8.0.16定制路径安装

1、安装

安装的是社区版8.0.16 ,解压缩后按顺序安装即可。
安装顺序如下:

rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm  
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm  
rpm -ivh mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm  
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm  
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm  
[root@mysql install_mysql_8.0.16]# rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-common-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-8.0.16-2.e################################# [100%]
[root@mysql install_mysql_8.0.16]#  rpm -ivh mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-embedded-compat-8################################# [100%]
[root@mysql install_mysql_8.0.16]#  rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        mysql-community-libs(x86-64) >= 8.0.11 被 mysql-community-libs-compat-8.0.16-2.el7.x86_64 需要
[root@mysql install_mysql_8.0.16]#  rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-libs-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-8.0.16-2.el7################################# [100%]
[root@mysql install_mysql_8.0.16]#  rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
        软件包 mysql-community-libs-compat-8.0.16-2.el7.x86_64 已经安装
[root@mysql install_mysql_8.0.16]# 
[root@mysql install_mysql_8.0.16]# rpm -ivh mysql-community-devel-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-devel-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-devel-8.0.16-2.el################################# [100%]
[root@mysql install_mysql_8.0.16]#  rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-client-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-8.0.16-2.e################################# [100%]
[root@mysql install_mysql_8.0.16]#  rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm 
警告:mysql-community-server-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-8.0.16-2.e################################# [100%]

重要:

启动mysql服务 systemctl start mysqld
查看启动状态 systemctl status mysqld
关闭数据库 systemctl stop mysqld
只有第一次启动数据库后,/var/mysql目录下才生成数据库文件。

2、调整默认安装路径

(1)修改配置文件/etc/my.cnf

原来的目录是 /var/lib/mysql ,调整到/data/mysql

datadir=/data/mysql
socket=/data/mysql/mysql.sock

log-error=/data/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

(2)移动安装目录

cp -R /var/lib/mysql /data
chown -R mysql:mysql /data/mysql

注意:
需要在mysql目录下建立log目录,注意权限重置一下。

mkdir log
chown -R mysql:mysql /data/mysql

否则报错:

Feb 10 15:15:23 oracledb mysqld[12777]: 2023-02-10T07:15:23.117353Z 0
[ERROR] [MY-010187] [Server] Could not open file '/h… denied

[root@oracledb home]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2023-02-10 15:15:23 CST; 9s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 12777 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 12704 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 12777 (code=exited, status=1/FAILURE)
   Status: "SERVER_BOOTING"
    Error: 13 (Permission denied)

Feb 10 15:15:22 oracledb systemd[1]: Starting MySQL Server...
Feb 10 15:15:23 oracledb mysqld[12777]: 2023-02-10T07:15:23.116175Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysq...s 12777
Feb 10 15:15:23 oracledb mysqld[12777]: 2023-02-10T07:15:23.117353Z 0 [ERROR] [MY-010187] [Server] Could not open file '/h... denied
Feb 10 15:15:23 oracledb mysqld[12777]: 2023-02-10T07:15:23.117418Z 0 [ERROR] [MY-010119] [Server] Aborting
Feb 10 15:15:23 oracledb mysqld[12777]: 2023-02-10T07:15:23.117567Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shut... - GPL.
Feb 10 15:15:23 oracledb systemd[1]: mysqld.service: main process exited, code=exited, status=1/FAILURE
Feb 10 15:15:23 oracledb systemd[1]: Failed to start MySQL Server.
Feb 10 15:15:23 oracledb systemd[1]: Unit mysqld.service entered failed state.
Feb 10 15:15:23 oracledb systemd[1]: mysqld.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

(3)启动数据库

启动mysql服务 systemctl start mysqld
查看启动状态 systemctl status mysqld

[root@mysql install_mysql_8.0.16]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2022-07-21 11:02:34 CST; 34min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 19379 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 19406 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 39
   CGroup: /system.slice/mysqld.service
           └─19406 /usr/sbin/mysqld

7月 21 11:02:32 mysql systemd[1]: Starting MySQL Server...
7月 21 11:02:34 mysql systemd[1]: Started MySQL Server.

3、登录的问题

找到安装的默认密码:

#cat /var/log/mysqld.log | grep 'temporary password is generated'
2022-07-21T02:03:10.026467Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: koMU(a#dy8%?

郁闷的部分来了,用命令行登录:

[root@mysql mysql]# mysql -uroot -pkoMU(a#dy8%?
-bash: 未预期的符号 `(' 附近有语法错误

有个(无法处理,只能输入密码:

[root@mysql mysql]# mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

提示:ERROR 2002 (HY000)错。

默认的安装路径被我删除了/var/lib/mysql/ 。

网上的解决办法,在my.cnf中增加client配置项:

[client]
port=3306
socket=/data/mysql/mysql.sock

停止mysql服务,重新启动后,用输入密码的方式,终于可以登录。
密码中有() ,特殊字符,只能用手工输入密码的方式首次登陆数据库。

[root@mysql mysql]# mysql -uroot -p
Enter password: 

4、用户密码设置

设置密码,授权可以远程连接

mysql> alter user 'root'@'localhost' identified by 'MySQL#2022';
Query OK, 0 rows affected (0.11 sec)

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

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.08 sec)
Rows matched: 1  Changed: 1  Warnings: 0

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

mysql> quit

5、卸载

[root@mysql mysql]# systemctl stop mysqld
[root@mysql mysql]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 四 2022-07-21 09:10:09 CST; 9min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 8941 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 8842 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 8941 (code=exited, status=0/SUCCESS)
   Status: "SERVER_SHUTTING_DOWN"

7月 21 08:24:01 mysql systemd[1]: Starting MySQL Server...
7月 21 08:24:11 mysql systemd[1]: Started MySQL Server.
7月 21 09:10:05 mysql systemd[1]: Stopping MySQL Server...
7月 21 09:10:09 mysql systemd[1]: Stopped MySQL Server.
[root@mysql mysql]# rpm -qa | grep -i mysql
mysql-community-embedded-compat-8.0.16-2.el7.x86_64
mysql-community-libs-8.0.16-2.el7.x86_64
mysql-community-libs-compat-8.0.16-2.el7.x86_64
mysql-community-client-8.0.16-2.el7.x86_64
mysql-community-common-8.0.16-2.el7.x86_64
mysql-community-server-8.0.16-2.el7.x86_64

卸载上述查询出来的所有的 MySQL 安装包

rpm -e mysql-community-embedded-compat --nodeps
rpm -e mysql-community-libs --nodeps
rpm -e mysql-community-client --nodeps
rpm -e mysql-community-common --nodeps
rpm -e mysql-community-server --nodeps

最后需要将mysql用的端口加入防火墙,重新载入配置:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值