下载安装包
由于国内被墙的原因,从官网下载安装包会非常慢,但是上帝在关上门的同时会给你留一扇窗户,我们使用华为镜像站下载安装包。
进入downloads目录后选择8.0版本,在众多的文件中搜索符合你系统的安装包,笔者选择64位的这个安装包。
使用FTP工具上传到服务器。
安装
- 解压
tar -zxvf mysql-8.0.17-linux-glibc2.12-x86_64.tar
- 移动解压后的文件夹到安装目录
mv mysql-8.0.17-linux-glibc2.12-x86_64 /usr/local/mysql
- 创建data目录存放数据
cd /usr/local/mysql
mkdir data
- 使用root用户创建mysql组和用户
groupadd mysql
useradd -g mysql mysql
- 改变目录权限
chown -R mysql.mysql /usr/local/mysql/
- 初始化数据库
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化成功复制末尾出现的root密码.
- 配置mysql
在mysql/support-files创建文件my-default.cnf
cd /usr/local/mysql/support-files/
touch my-default.cnf
复制配置文件到/etc/my.cnf
cp -a ./my-default.cnf /etc/my.cnf
编辑my.cnf
vi /etc/my.cnf
输入以下内容
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock
其他参数配置可参考MySQL 8.0如何配置my.cnf
- 配置mysql服务
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
# 检查是否生效
chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Linux OS 将操作 环境分为以下7个等级,即
0:关机
1:单用户模式(单用户、无网络)
2:无网络支持的多用户模式(多用户、无网络)
3:有网络支持的多用户模式(多用户、有网络)
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式(多用户、有网络、X-Window界面)
6:重新引导系统,即重启
linux下chkConfig的用法,mysqld开机自启动
- 配置环境变量
vi /etc/profile
#在 profile 文件底部添加如下两行配置,保存后退出
PATH=/data/mysql/bin:/data/mysql/lib:$PATH
export PATH
#设置环境变量立即生效
source /etc/profile
- 启动mysql
/usr/local/mysql/support-files/mysql.server start
-
- 启动服务失败
进入data目录下查看以.err结尾的文件,根据报错有针对性解决.
*切记,不看日志文件报错信息随便去百度,轻则卸载重装,重则删库跑路
- 启动服务失败
- 配置软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
- 修改密码
#登陆
mysql -u root -p
#输入密码再做其他操作之前会提示需要修改密码
ALTER USER "root"@"localhost" IDENTIFIED BY "你的密码";
- 开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
-
开放3306 端口
各个服务器的开放流程都有细微差别.先开linux的防火墙,如果是云服务器,则还需要去云服务器的控制台配置安全规则开放端口.
-
- 测试远程连接
error 2059: Authentication plugin ‘caching_sha2_password’ cannot be loaded
这个报错因为mysql 8.0的认证方式与mysql 5.0不一样
在MySQL 8.04前,执行:SET PASSWORD=PASSWORD(’[新密码]’);但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
so,我们这里需要再次修改一次root密码。
先登录进入mysql环境:执行下面三个命令。(记得带上分号)
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
此时再用客户端去连接就成功了.
此文章借鉴了网络上其他人的分享文档,感谢!互联网精神永存,你我共勉!