centos7安装mysql8
1 下载MySql8安装包
1.1 下载前准备
确定一下系统的glibc版本,可以使用以下命令进行查看,当前系统glibc版本:2.17
rpm -qa | grep glibc
1.2 下载压缩包
官网:https://www.mysql.com/
上面三个选项根据需要选择,这里是centos7安装mysql8
勾选好之后往下翻找到对应glibc版本相对应的
点击下面直接下载
2 安装mysql8
2.1 创建需要用到的目录
创建压缩包存放目录
mkdir /compile/package/mysql/mysql8.4.0
创建安装目录
mkdir /compile/install/mysql
2.2 解压mysql8压缩包
先将已经下载好的压缩包上传到虚拟机的存放目录里面,然后将压缩包解压到安装目录里面
# 进入到mysql8压缩包所在目录
cd /compile/package/mysql/mysql8.4.0
# 解压缩文件到当前目录下
tar -xvf mysql-8.4.0-linux-glibc2.17-x86_64.tar
# 将需要用的压缩文件解压到安装目录
tar -xvf mysql-8.4.0-linux-glibc2.17-x86_64.tar.xz -C /compile/install/mysql/
解压后的目录
将加压出来的文件夹里面的文件全部移动到 /compile/install/mysql/mysql8.4.0 里面,也可以理解为把文件名改为mysql8.4.0
cd /compile/install/mysql
mv mysql-8.4.0-linux-glibc2.17-x86_64 mysql8.4.0
2.3 创建data文件夹 储存文件
在mysql目录下创建data文件夹
cd /compile/install/mysql/mysql8.4.0/
mkdir data
2.4 mysql安装目录赋予权限
chmod -R 777 /compile/install/mysql/mysql8.4.0/
2.5 创建用户组以及用户
# 创建组
groupadd mysql
# 创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
# 将用户添加到组中
chown -R mysql:mysql ./
2.5 授权用户(删除)
将mysql文件夹的所有者和所有组都改为mysql
chown -R mysql.mysql /compile/install/mysql/mysql8.4.0/
2.6 mysql初始化(下载)
进入bin目录执行mysqld文件进行初始化
cd /compile/install/mysql/mysql8.4.0/bin/
./mysqld --user=mysql --basedir=/compile/install/mysql/mysql8.4.0/ --datadir=/compile/install/mysql/mysql8.4.0/data --initialize
要注意:这一步可能会报错,如果报错的话检查你的/compile/install/mysql/mysql8.4.0/data这个文件夹里面有没有其他文件,有的话全部删除。
初始化之后会生成一个密码要记住:u_zo1Kh7Qjo(
2.7 编辑my.cnf
vim /etc/my.cnf
[mysqld]
port=3306
basedir=/compile/install/mysql/mysql8.4.0
datadir=/compile/install/mysql/mysql8.4.0/data
character-set-server=utf8
default-storage-engine=INNODB
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
2.8 启动mysql服务
# 进入mysql.server服务目录
cd /compile/install/mysql/mysql8.4.0/support-files/
# 启动服务
./mysql.server start
2.9 将mysql添加到系统进程中
cp /compile/install/mysql/mysql8.4.0/support-files/mysql.server /etc/init.d/mysqld
此时我们就可以使用服务进程操作mysql了
2.10 设置mysql自启动
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
2.11 登录mysql
# 进入mysql bin目录
cd /compile/install/mysql/mysql8.4.0/bin/
# 进入mysql
./mysql -u root -p
执行后,输入我们初始化时记录下的随机密码,就会进入mysql
要注意输入密码是不显示的
SUCCESS则表示启动mysql成功
2.12 修改密码
可以用service mysql status 再次查看mysql启动状态
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
3 第三方软件远程连接
3.1 设置允许远程登录
use mysql
update user set user.Host='%'where user.User='root';
flush privileges;
quit
3.2 重启服务且测试
systemctl restart mysql
service mysql restart
# 查看mysql是否启动
systemctl status mysql
3.3 在防火墙中将3306端口开放
# --permanent为永久生效,没有此参数 服务器重启后配置失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
3.4 第三方软件测试连接
3.5 重启linux后测试自启动(可选)
reboot
查看mysql服务状态
systemctl status mysql
测试远程访问