centos7.6在线安装MySQL8.0,并指定数据存放目录

目录

1.背景

2.清理环境

3.安装mysql8.0

4.修改数据存放目录

5.启动及修改密码

6.修改root权限,增加远程登录

7.连接测试


1.背景

        由于某些服务器根目录的磁盘空间不足,而其他目录空间(比如/home)很充足,有些朋友又觉得给磁盘扩缩容很麻烦。对于这种情况,最好的办法就是指定数据存放目录。在使用过程中转移数据目录,如果不熟悉的朋友可能会遇到一些小麻烦,因此,最好是在安装的时候就指定数据目录。

2.清理环境

测试机IP:192.168.44.200

一般来说删除centos7自带的mariadb就可以了。

# 查看系统版本
[root@study ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@study ~]# 

# 查找系统自带的 mariadb ,卸载掉
[root@study ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64

# 如有依赖删除不了,加上参数 --nodeps 强制删除
[root@study ~]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
[root@study ~]# 

如果之前安装过MySQL8.0或mariadb,则还需要清理配置文件及相关数据目录。如果之前安装过MySQL5.7,则需要卸载或升级相关依赖。 

# 如之前安装过MySQL,可能还需要
yum -y remove mysql-community-server

# 以及清除mysql相关的文件夹。注意:此命令生产环境慎用
find / -name mysql | xargs -i rm -rf {}

3.安装mysql8.0

注意安装后先不要启动,否则MySQL会以默认的数据目录/var/lib/初始化数据库。

# 获取MySQL8.0源
wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

# 安装源
rpm -ivh mysql80-community-release-el7-2.noarch.rpm

# 安装MySQL
yum -y install mysql-community-server

4.修改数据存放目录

这里我们指定到/home。可以是任意目录,如果目录不存在的需要新建。

# 修改默认路径需要关闭selinux,否则MySQL会启动报错
# 临时关闭
setenforce 0

# 永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


# 修改配置文件,注释掉原有的目录配置,指定新的目录,另外再配置一些常用设置
vi /etc/my.cnf

# datadir=/var/lib/mysql
# socket=/var/lib/mysql/mysql.sock
datadir=/home/mysql
socket=/home/mysql/mysql.sock
character-set-server=utf8
default_authentication_plugin=mysql_native_password

5.启动及修改密码

修改默认密码是必须的

# 启动MySQL并设置开机自启
systemctl start mysqld && systemctl enable mysqld

# 查看初始密码,MySQL启动成功才会有日志生成,才能查看到密码
grep 'password' /var/log/mysqld.log

# 使用查看到的密码登录MySQL,可能需要加-h参数指定127.0.0.1,否则无法登录
mysql -uroot -p -h127.0.0.1

# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Admin#2020';

# 退出
quit;

6.修改root权限,增加远程登录

# 使用新密码登录
mysql -uroot -p -h127.0.0.1

# 设置权限,退出
use mysql;
update user set host ='%' where user='root';
flush privileges;
alter user 'root'@'%' identified with mysql_native_password by 'Admin#2020';
flush privileges;
quit;

7.连接测试

设置防火墙策略,开放3306端口。我这里直接关闭防火墙。

systemctl stop firewalld && systemctl disable firewalld

 连接测试

8.总结

         MySQL8.0如果首次安装是非常简单的,但如果二次安装的话会有一些麻烦,主要原因是之前的数据没清理干净,因此要确保一次安装成功。MySQL安装并不复杂,不要怕报错,养成排查问题,解决问题的思路和习惯非常重要。

猜你喜欢

转载自blog.csdn.net/ct_666/article/details/111248343