CentOS7.6自定义安装MySQL8.0.15全过程

一、目标

1、将MySQL部署在指定目录;
2、MySQL服务开机自启动;
3、可在任意主机上访问、操作数据;

二、环境准备

1、OS准备
OS版本:CentOS7.6
安装方式:minimal install
安装依赖:wget、net-tools、vim-enhanced、libaio、perl
移除rpm:mariadb
2、MySQL准备
版本:MySQL8.0.15
安装种类:二进制安装(安装文件点我获取,提取码:2fqk)

三、安装过程

1、移动安装文件至/data目录,并解压:

mv mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz /data
tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz

解压后的目录结构如下:
CentOS7.6自定义安装MySQL8.0.15全过程_第1张图片
还需在此目录中新增两个目录:

mkdir data log

2、新增用户并授权

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
chown -R mysql:mysql /data

3、编辑配置文件并初始化
二进制安装MySQL需要在/etc目录中手动创建my.cnf文件,内容如下:

[mysqld]
user=root
port=3306
basedir=/data/mysql
datadir=/data/mysql/data
log-error=/data/mysql/log/mysql-err.log
default_authentication_plugin=mysql_native_password
socket=/tmp/mysql.sock
server-id=1
max_connections=10000
max_connect_errors=10
log-bin=/data/mysql/log/mysql-bin
binlog_format=MIXED
log_bin_trust_function_creators=1
expire_logs_days=14
lower-case-table-names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set =utf8
[client]
port=3306
default-character-set =utf8

进入/data/mysql/目录初始化MySQL:

./bin/mysqld --initialize --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/

4、配置mysql服务器的启动文件、添加mysql客户端环境变量:

cp /data/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
此时mysql server已经交给service和chkconfig管理
可通过service mysqld start/stop/restart命令控制启动/关闭/重启
可通过chkconfig mysqld on设置开机自启
将mysql client命令添加至系统变量:
vi /etc/profile 在末尾添加:
export PATH=$PATH:/data/mysql/bin
保存后让其立即生效:
source /etc/profile

5、放行端口,开启数据库,登录进行相关配置:

启动数据库并设置为开机自启:
service mysqld start
chkconfig mysqld on
登录修改初始密码:
cat /data/mysql/log/mysql-err.log | grep password
mysql -u root -p 输入密码登录
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
设置可从其他主机访问:
UPDATE mysql.user SET `Host`='%' WHERE User='root';
flush privileges;
还原密码验证插件:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'passowrd';
放行3306端口:
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload  

6、重启验证
reboot系统,待重启完成后检查数据库状态、是否能从远程主机访问、操作。

四、常见错误排除

1、navicat连接报错:
CentOS7.6自定义安装MySQL8.0.15全过程_第2张图片
原因:firewalld未放行3306端口,或放行后没有reload
解决方法:放行并reload
2、navicat能连接数据库,但创建数据库时失败

CentOS7.6自定义安装MySQL8.0.15全过程_第3张图片
原因:/data目录用户和组属性还是root:root,而不是mysql:mysql
解决方法:更改用户和组的属性。

你可能感兴趣的:(CentOS7.6自定义安装MySQL8.0.15全过程)