Instale MySQL8.0 en línea en centos7.6 y especifique el directorio de almacenamiento de datos

Tabla de contenido

1. Antecedentes

2. Limpiar el medio ambiente

3. Instale mysql8.0

4. Modifique el directorio de almacenamiento de datos.

5. Iniciar y cambiar la contraseña

6. Modifique los permisos de root, agregue inicio de sesión remoto

7. Prueba de conexión


1. Antecedentes

        Debido a que el espacio en disco del directorio raíz de algunos servidores es insuficiente y el espacio de otros directorios (como / home) es suficiente, a algunos amigos les resulta problemático expandir y encoger el disco. En este caso, la mejor forma es especificar el directorio de almacenamiento de datos. Si no está familiarizado con la transferencia del directorio de datos durante el uso, puede encontrar algunos problemas menores, por lo tanto, es mejor especificar el directorio de datos durante la instalación.

2. Limpiar el medio ambiente

IP de la máquina de prueba: 192.168.44.200

Generalmente, elimine el mariadb que viene con centos7.

# 查看系统版本
[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 ~]# 

Si ha instalado MySQL8.0 o mariadb antes, también necesita limpiar los archivos de configuración y los directorios de datos relacionados. Si ha instalado MySQL 5.7 antes, necesita desinstalar o actualizar las dependencias relacionadas. 

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

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

3. Instale mysql8.0

Tenga cuidado de no iniciarlo después de la instalación, de lo contrario MySQL inicializará la base de datos con el directorio de datos predeterminado / 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. Modifique el directorio de almacenamiento de datos.

Aquí especificamos / home. Puede ser cualquier directorio, si el directorio no existe, debe crear uno nuevo.

# 修改默认路径需要关闭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. Iniciar y cambiar la contraseña

Es necesario cambiar la contraseña predeterminada

# 启动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. Modifique los permisos de root, agregue inicio de sesión remoto

# 使用新密码登录
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. Prueba de conexión

Establezca la política de firewall y abra el puerto 3306. Apago el firewall directamente aquí.

systemctl stop firewalld && systemctl disable firewalld

 Prueba de conexión

8. Resumen

         MySQL8.0 es muy simple de instalar por primera vez, pero habrá algunos problemas si se instala dos veces. La razón principal es que los datos anteriores no se han limpiado, así que asegúrese de que la primera instalación sea exitosa. La instalación de MySQL no es complicada, no tenga miedo de reportar errores, es muy importante desarrollar ideas y hábitos para la resolución de problemas.

Supongo que te gusta

Origin blog.csdn.net/ct_666/article/details/111248343
Recomendado
Clasificación