Centos 7 二进制文件安装MySQL 8
下载MySQL依赖库libaio
$> yum install -y libaio # install library
下载MySQL依赖库ncurses
$> yum install -y ncurses ncurses-devel
下载二进制发行版本
$> wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
创建mysql用户和用户组
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
解压安装包,并放到指定位置
$> tar xvf /path/to/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
$> mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql
添加环境变量
$> export PATH=$PATH:/usr/local/mysql/bin
修改配置文件my.cnf
[mysqld]
datadir=/usr/local/mysql/data #指定数据目录
socket=/var/lib/mysql/mysql.sock
初始化
- 用于–initialize“ 默认安全”安装(即包括生成随机初始 root密码)
- 使用–initialize-insecure,不会root生成密码
$> bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
$> bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql
若初始化时使用了–initialize-insecure,连接后修更新root密码
$> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
初始化时配置文件不应许有多余的文件,若配置文件中数据目录和命令中指定的路径–datadir=/path不一致会报错,数据目录也不可以提前手动创建,否则也会报错,出现该错误直接删除数据目录再初始化即可,配置文件中若指定了log文件路径,文件不存在时也会报错
启动
$> bin/mysqld_safe --user=mysql &
连接
$> mysql -uroot -p -S /var/lib/mysql/mysql.sock