MySQL8.0.x单机安装(二进制方式安装)

1.1 安装准备
1.1.1 系统环境

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

0.1获取安装包链接地址:

https://downloads.mysql.com/archives/community/

0.2验证软件包MD5值

[root@localhost softs]# md5sum mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz 
ded5c24afd07a4a529e02d110c44b2ac  mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz

1.2 创建MySQL用户和组

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql

1.3 解压到指定目录

[root@localhost ~]# tar -xvf /root/softs/mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz  -C /usr/local/
[root@localhost ~]# ls -lt /usr/local/
total 0
drwxr-xr-x  9 root root 129 Nov 13 23:11 mysql-8.0.24-linux-glibc2.12-x86_64 # 解压后的目录

1.4 创建符号链接

[root@localhost ~]# ln -s /usr/local/mysql-8.0.24-linux-glibc2.12-x86_64 /usr/local/mysql
[root@localhost ~]# ls -ltr /usr/local/mysql
lrwxrwxrwx 1 root root 46 Nov 13 23:14 /usr/local/mysql -> /usr/local/mysql-8.0.24-linux-glibc2.12-x86_64
[root@localhost ~]# 

创建符号链接是为了便于管理

1.5 配置环境变量

vi /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

验证

[root@localhost ~]# mysql -V
mysql  Ver 8.0.24 for Linux on x86_64 (MySQL Community Server - GPL)

1.6 创建数据目录并授权

[root@localhost ~]# mkdir -p /data/3306/data
[root@localhost ~]# chown mysql.mysql /data

1.7 创建配置文件

[root@localhost ~]# rm /etc/my.cnf
[root@localhost ~]# cat /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
server_id=51
[mysql]
socket=/tmp/mysql.sock

1.8 初始化数据
方式一:

[root@localhost ~]# mysqld --initialize-insecure

方式二:

[root@localhost ~]# mysqld --initialize

方式一和二的区别:

--initialize-insecure : 不安全,初始化没有密码,在登录数据库时,执行mysql命令即可
--initialize          : 安全的模式,每次初始化完成都会生成随机密码,12位,只能登陆数据库,需要在第一次登陆时修改掉才可以正常管理数据。

1.9 启动数据库
1.9.1 service方式启停

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost ~]# service mysqld start
Starting MySQL.Logging to '/data/3306/data/localhost.localdomain.err'.
 SUCCESS! 
[root@localhost ~]# service mysqld restart
Shutting down MySQL. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@localhost ~]# service mysqld stop
Shutting down MySQL.. SUCCESS! 
[root@localhost ~]# service mysqld start
Starting MySQL. SUCCESS! 
[root@localhost ~]# service mysqld status
 SUCCESS! MySQL running (8268)
[root@localhost ~]# 

1.9.2 systemctl方式启停

[root@localhost ~]# service mysqld stop  
Shutting down MySQL.. SUCCESS! 
[root@localhost ~]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (running) since Sat 2021-11-13 23:35:36 CST; 9s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8387 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysqld.service
           ├─8398 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/localhost.localdomain.pid
           └─8551 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-e...

Nov 13 23:35:35 localhost.localdomain systemd[1]: Starting LSB: start and stop MySQL...
Nov 13 23:35:36 localhost.localdomain mysqld[8387]: Starting MySQL. SUCCESS!
Nov 13 23:35:36 localhost.localdomain systemd[1]: Started LSB: start and stop MySQL.

1.10 登录验证

[root@localhost ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.24 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

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> 

1.11 小结
1.初始化参数"--initialize-insecure"和"--initialize"看情况使用,不会有啥问题。
2.如果是全新环境,重新初始化,直接将数据目录删除(rm -rf /data/3306/data/*)次初始化即可。
3.初始化没有加--basedir、--datadir等参数,是因为MySQL会默认去找/tmp/my.cnf配置文件,如果初始化时没有my.cnf文件,需要将该参数加上。
4.设置开机启动:chkconfig --add mysqld
5.如果遇到如下报错信息:

mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:

yum install -y libaio-devel
posted @ 2021-11-21 22:38  红桃Z  阅读(465)  评论(0编辑  收藏  举报