. . .

帮助中心

这里有最新的使用文档和教程

< 返回

Centos7 手动安装mysql8.0

2022-10-27 14:30 作者: 阅读量:499

虽然现在市场上有很多很好用的集成环境内集成了mysql服务,但有时我们如果只需要服务器内安装mysql服务时,可以按此办法手动在服务器内安装。

1,准备一台安装了Centos7系统的纯净云服务器。

2,先检查服务器内是否安装了mariadb,如果安装了进行卸载。

rpm -qa|grep mariadb

rpm -e mariadb-libs --nodeps

3,创建mysql 目录,并进入

mkdir /usr/local/mysql

cd /usr/local/mysql

4,下载mysql 安装包,并解压

http://down.wshost.cc/SQL/Mysql/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

tar -zxvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

5,依次执行如下命令,安装mysql 服务

rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force

6,初始化mysql服务

mysqld --initialize;

如果出现错误:

需要安装numactl 和 libaio

yum -y install numactl

yum -y install libaio

7,重置mysql 用户和组

chown mysql:mysql /var/lib/mysql -R

8,启动mysql 并 将mysql 加入开机启动项

systemctl start mysqld

systemctl enable mysqld

9,查看数据库初始化密码

cat /var/log/mysqld.log | grep password

到此初始安装完成,可以正常使用,也建议进行如下操作,增加mysql 的安全性

1,修改mysql 默认的root 密码

1)登陆到mysql,并进入mysql数据库

mysql -uroot -p初始密码

use mysql;

2)修改密码,密码需要数字,大小写字母,特殊符号

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

3)退出mysql,然后通过新密码再次登陆验证密码是否修改成功

exit;

mysql -uroot -p

2,如果需要远程访问数据库,需要创建远程访问用户,依次执行下列命令

create user 'root'@'%' identified with mysql_native_password by 'xxxxx';

grant all privileges on *.* to 'root'@'%' with grant option;

flush privileges;

配置以后,还需要将3306端口通过服务器防火墙放行

3,修改 MySQL 数据库目录存放位置

1)停止mysql 服务

systemctl stop mysqld

2)将mysql 数据库目录移动到新位置

mv /var/lib/mysql/ /www/data/

3)分配/www/data目录mysql 权限

chown -R mysql:mysql /www/data/

4)修改/etc/my.cnf 配置文件(主要是以下两条,其他可不修改)

datadir=/www/data

socket=/www/data/mysql/mysql.sock

5)修改后保存退出,并启动mysql即可

systemctl start mysqld

说明:也有人通过创建软链接的方式来实现mysql 数据库目录的变更,这样可以不用修改/etc/my.cnf配置文件,替换上述 4)步骤,方法如下:

4)ln -s /www/data/mysql /var/lib/

检查是否已链接成功,使用以下指令

ls -la /var/lib/mysql

重启服务

systemctl start mysqld.service