centos7.6在线安装MySQL8.0,并指定数据存放目录
方式一:在线安装1.删除centos7.6自带的mariadb或安装的MySQL# 查看系统版本[root@study ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)[root@study ~]## 查找系统自带的 mariadb ,卸载掉[root@study ~]# rpm -qa | grep mariadbma
·
目录
1.背景
此文档适用于在线安装MySQL8.0并指定数据存储目录。
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 ~]#
如机器安装过MySQL或mariadb,则还需要先卸载、清理配置文件和相关数据目录。重要数据请先备份。
# 卸载MySQL
yum -y remove mysql-community-server
# 以及清除mysql相关的文件夹。注意:此命令生产环境慎用
find / -name mysql | xargs -i rm -rf {}
3.安装
注意安装后先不要启动,否则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
# 修改配置文件,注释掉原有的配置,指定新的目录,另外再配置一些常用设置
vim /etc/my.cnf
# datadir=/var/lib/mysql
# socket=/var/lib/mysql/mysql.sock
datadir=/home/mysql
socket=/home/mysql/mysql.sock
character-set-server=utf8mb4
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
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首次安装比较简单,如果二次安装会有一些麻烦,主要是因为之前的数据、依赖没清理干净,因此安装时要确保一次成功。
更多推荐
已为社区贡献2条内容
所有评论(0)