MySQL8.0源码安装

MySQL8.0源码安装

1.二进制安装

1)、创建操作系统用户:

groupadd mysql

useradd -g mysql mysql

2)、解压二进制包,建立软链接

cd /usr/local

tar xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

ln -s mysql-8.0.25-linux-glibc2.12-x86_64 mysql

3)、修改配置文件

vim /etc/my.cnf

[client]

socket=/data/mysql/3306/data/mysql.sock

[mysqld]

basedir=/usr/local/mysql

datadir=/data/mysql/3306/data

socket=/data/mysql/3306/data/mysql.sock

log-error=/data/mysql/3306/data/mysqld.err

port=3306

user=mysql

log_timestamps=system

default_authentication_plugin = mysql_native_password

4)、创建数据目录,并修改其属主、属组。

mkdir -p /data/mysql/3306/data

chown mysql.mysql /data/mysql/3306/data

5)、初始化实例:

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize

6)、启动实例

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

7)、登录实例(使用初始化过程中生成的随机密码)

grep password /data/mysql/3306/data/mysqld.err

[root@pgdb2 ~]# grep password /data/mysql/3306/data/mysqld.err

2023-04-08T21:25:10.426835+08:00 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rhgple;-w0jM

mysql -uroot -p’z3vfW786kn;b’;

8)、修改密码

alter user user() identified by ‘123456’;

mysql8.0 设置不同的密码验证策略,具体策略由参数

mysql> install component ‘file://component_validate_password’;

Query OK, 0 rows affected (0.01 sec)

mysql> select * from mysql.component;

±-------------±-------------------±-----------------------------------+

| component_id | component_group_id | component_urn |

±-------------±-------------------±-----------------------------------+

| 1 | 1 | file://component_validate_password |

±-------------±-------------------±-----------------------------------+

1 row in set (0.00 sec)

mysql> show variables like ‘%policy%’;

±-------------------------±-------+

| Variable_name | Value |

±-------------------------±-------+

| validate_password.policy | MEDIUM |

±-------------------------±-------+

1 row in set (0.01 sec)

mysql> alter user user() identified by ‘123456’;

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> alter user user() identified by ‘P@ssw0rd’;

Query OK, 0 rows affected (0.00 sec)

2.源码安装

环境清除

1)、使用yum源安装的mysql

yum remove mysql mysql-server mysql-libs compat-mysql51

rm -rf /var/lib/mysql

rm /etc/my.cnf