文章目录
Linux系统版本:CentOS 8.3 64位
MySQL版本:mysql-8.0.25-linux-x86_64
1.下载MySQL安装包
2.将MySQL安装包上传到Linux服务器
- 使用 Xftp 上传文件 (其他ftp软件皆可) 这里存放路径是我自定义的(可直接上传到自定义的目录下)
- 注:MySQL默认的安装路径是 /usr/local/mysql (路径发生改变,后续配置可能有一丝影响)
3.解压MySQL安装包
- 进入MySQL安装包存放路径
cd 路径cd
例: /usr/libo/environment
ll 查看路径下所有目录
- 将.xz文件解压为.tar
xz -d .xz文件名称
例:xz -d mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
- 解压MySQL .tar 安装包
tar -xvf .tar文件名称
例:tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar
- 解压完成
- 修改MySQL文件名称 (名称过长,建议修改)
mv 原目录名称 新目录名称
例:mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql-8.0.25
4.创建MySQL数据存放目录并授权
- 进入MySQL目录后,使用命令创建MySQL数据目录,名称可自取,比如:data
mkdir 目录名
- 给MySQL目录授权(包括MySQL数据存放目录)
chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)
chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限
5.创建MySQL组:创建MySQL用户并设置密码
- 添加用户,设置密码
添加用户:useradd 用户名
设置密码:passwd 用户名
- 将mysql目录的权限授给mysql用户和mysql组
chown -R mysql:mysql /usr/libo/environment/mysql-8.0.25
- 注:在设置密码时,少于8位会出现提示,再次填写一遍即可,不影响
6.在系统根目录的/etc创建MySQL的安装初始化配置文件my.cnf
- 内容如下:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/libo/environment/mysql-8.0.25
# 设置mysql数据库的数据的存放目录
datadir=/usr/libo/environment/mysql-8.0.25/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
- 使用命令或者直接在ftp中修改my.cnf文件
vi /etc/my.cnf
按下i健进入 insert模式进行修改,完成后按下esc键再后输入 :wq 保存并退出(英文模式下,注意wq前面还有冒号:)
7.初始化MySQL
- 进入MySQL的bin目录下
cd /usr/libo/environment/mysql-8.0.25/bin
- 执行命令,记住生产的随机密码(后面修改密码时会用到)
./mysqld --initialize --console
8.启动MySQL服务
- 运行MySQL服务
cd /usr/libo/environment/mysql-8.0.25/support-files
./mysql.server start
- 启动时可能出现的问题和解决方式:
1. 启动MySQL服务时报 updating PID file 错误
解决:在安装目录下重新授权,然后再启动MySQL
chmod -R 777 /usr/libo/environment/mysql-8.0.25
chmod -R 777 /usr/libo/environment/mysql-8.0.25/data
2. 启动MySQL服务时报 my_print_defaults:未找到命令错误
解决:检查并修改 /etc/my.cnf 中的 MySQL的安装目录
3. 如果确认MySQL安装路径没有问题,很有可能是没有读取到我们的my.cnf配置文件
在mysql.server文件中可以看到,MySQL默认路径为/usr/local/mysql,因为我们是自定义路径。所以需要建立my.cnf文件的连接
将mysql目录下的bin/my_print_defaults链接到/usr/bin目录下。
cd /usr/bin
sudo ln -s /usr/libo/environment/mysql-8.0.25/bin/my_print_defaults
为什么需要my_print_defaults呢?这是因为mysql.server执行时就是通过my_print_defaults来读取my.cnf配置变量的。
参考博客:https://blog.csdn.net/u012794845/article/details/86577399
- 将MySQL加入系统进程中
将MySQL加入系统进程中
cp mysql.server /etc/init.d/mysql
然后重启MySQL服务
service mysql restart
- 修改登录密码
进入MySQL 密码是之前自动生成的密码
./mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
- 设置允许远程登录
use mysql 切换数据库
update user set user.Host='%' where user.User='root'; 修改HOST为%
flush privileges; 修改成功后刷新权限
- 退出MySQL
quit;
- 重启MySQL服务
service mysql restart
- 测试远程连接