mysql8.0下载地址: https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
安装参考手册:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
前提说明:
- 本测试环境已经创建mysql用户。
- 本测试环境已经安装部署了MySQL5.7环境,/usr/local/mysql已被mysql5.7使用,部分参数受/etc/my.cnf中设置MySQL5.7的影响
- 安装包放置在/home/mysql下。
- 全程使用root用户安装部署,最后把部分目录赋权给mysql。
安装部署
解压
(备注:这里我直接用mysql解压了,不影响使用,后面操作就使用root了,不同用户解压影响的只是目录权限,mysql官方建议软件目录所属用户为root,只把数据目录所属用户设置为mysql,是出于安全考虑)
tar xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
建立软连接
cd /usr/local
ln -s /home/mysql/mysql-8.0.25-linux-glibc2.12-x86_64 mysql8
创建数据目录mysql-files,并更改权限
cd /usr/local/mysql8
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
初始化
(注意此时一定要指定下列参数,不然默认会放在/usr/local/mysql的数据目录下),初始密码记录在mysql-files/error.log中
cd /usr/loca/mysql8
bin/mysqld --initialize --datadir=/usr/local/mysql8/mysql-files --log_error=/usr/local/mysql8/mysql-files/error.log --user=mysql
启动
(官方建议用mysqld_safe启动,也可以使用mysqld启动。使用mysqld_safe会起起一个守护进程,当mysqld进程挂掉时,可以被拉起)
bin/mysqld_safe --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/mysql-files --port=3380 --socket=/usr/local/mysql8/mysql-files/mysql.scok --log_error=/usr/local/mysql8/mysql-files/error.log --pid-file=/usr/local/mysql8/mysql-files/mysql.pid --user=mysql &
登录数据库,设置root密码
[root@sd2 mysql8]# bin/mysql -u root -p -P 3380 -S /usr/local/mysql8/mysql-files/mysql.scok
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.25
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.
(root@localhost) [(none)]> alter user 'root'@'localhost' identified by 'Asdf123.';
Query OK, 0 rows affected (0.01 sec)
(root@localhost) [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)