当前位置: 代码迷 >> 综合 >> Linux操作|第三篇:centos6.x离线安装mysql数据库
  详细解决方案

Linux操作|第三篇:centos6.x离线安装mysql数据库

热度:117   发布时间:2023-11-06 05:03:28.0

一、下载mysql

  1.下载地址:https://dev.mysql.com/downloads/mysql/
  2.下载步骤:选择commumity–>MySql Commumity server 在这里插入图片描述
  3.选择版本:选择commumity–>MySql Commumity server 在这里插入图片描述
  4.下载tar压缩文件:mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar

二、上传至服务器并解压
 1.通过scp命令上传至服务器:此次测试就上传至/home/user/soft/mysql文件夹
 2.解压下载的文件 :tar -xvf mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar
 3.解压后文件列表如下
在这里插入图片描述
三、删除原有安装信息

 1.查看是否安装有mysql:rpm -qa|grep mysql
 2.删除安装有的mysql:rpm -e mysql-community-devel-* --nodeps

四、按以下步骤安装mysql
 rpm -ivh mysql-community-libs-8.0.13-1.el6.x86_64.rpm --nodeps --force
 rpm -ivh mysql-community-devel-8.0.13-1.el6.x86_64.rpm --nodeps --force
 rpm -ivh mysql-community-client-8.0.13-1.el6.x86_64.rpm --nodeps --force
 rpm -ivh mysql-community-server-8.0.13-1.el6.x86_64.rpm --noeps --force
 注意:上述安装完后,启动服务器:service mysqld start启动时一般会报错,因为此时操作账户非mysql账户,需创建mysql账户,同时增加mysql组,并将启动,使用中需要的mysql文件夹均修改为mysql权限

五、增加mysql用户及组
 1.增加用户:useradd mysql
 2.创建密码:passwd mysql
 3.默认创建用户时会创建一个同名用户组
 4.给user用户增加sudoers权限,vim /etc/sudoers
在这里插入图片描述
六、增加mysql相关权限

 1.进入/var/lib,为文件夹mysql-files,mysql-keyring,mysql文件夹增加权限
 2.sudo chown mysql:mysql mysql-files,其它文件夹类似
 3.进入/var/run修改mysqld权限
 4.进入/var/log 修改mysqld.log权限
 由于安装过程中根据错误去查看那些文件需要增加日志的,暂时只记住以上文件需要增加mysql权限,实际情况各位按报错信息进行修改.

 七、解决安装过程中出现的问题

 问题一

/usr/sbin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

 解决:需安装numactl:yum -y install numactl

 问题二:初始化 MySQL 数据库: [失败]
 解决办法:只有上述提示,可查看日志文件判别:cat /var/log/mysqld.log
 当上述问题全部解决完成,则可进行mysql数据库启动:service mysqld start

 八、数据库相关设置
  1.修改root用户密码
    1)查看初始默认密码:grep “password” /var/log/mysqld.log
    2)使有初始默认密码登录mysql
    3)使用命令:alter user ‘root’@’localhost’ identified by ‘Mysql_123mysql’
  2.修改密码策略(想将密码修改简单点,需将密码策略进行修改)
   注意:想修改密码策略,必须先修改一次密码后才能进行密码策略修改
    1)show variables like ‘validate_password%’; 在这里插入图片描述
    2) 如果不能显示如上界面,则需安装插件:INSTALL PLUGIN validate_password SONAME 'validate_password.so';</font>
    3)各参数含义解释
    1.validate_password.check_user_name:检查用户名
    validate_password.dictionary_file:字典文件
    validate_password.length:修改密码最小长度
    validate_password.mixed_case_count:密码中包含大小写最小个数
    validate_password.number_count:密码中包含数字最小个数
    validate_password.policy:验证策略(0:low;1:medium;2:strong)
    validate_password.special_char_count:特殊字符最小个数
    通过上述修改后,就可以将密码设置为简单点的密码了,如果需要特殊密码处理,则可根据上述参数进行密码规则设置
     4)也可通过设置my.cnf禁卡密码策略:validate-password=OFF

 九、终端数据库基本操作
     1.显示数据库:show databases;
     2.创建数据库:create database test;
     3.使用test数据库:use test;
     4.创建数据表:create table t_user_test(name varchar(20), age int);
     5.显示数据表:show tables;
     6.创建用户:create user 'tom'@'localhost' identified by 'tom';
     7.修改用户密码:alter user ‘tom’@’localhost’ identify by ‘tom123’
     8.修改用户密码:alter user ‘tom’@’%’ identify by ‘tom123’
     9.授权某用户权限:grant 权限on 数据库名.表名 to ‘用户名’@’host’
     注意:如果授权所有权限则用all,如果授权单个,则写单个即可
       8.1)grant insert,delete,update,select on test.user to ‘tom’@’localhost’;
       8.2)grant all on test.user to 'tom'@'localhost';
       8.3)grant all on test.* to 'tom'@'localhost';
       8.4)flush privileges
     9.撤销用户权限:revoke all on test.* from ‘tom’@’localhost’
     10.查询所有用户:select user,host from mysql.user;
     注意:后边host表示允许那些ip访问,%表示所有主机可访问,localhost只允许当前主机访问
     11.删除指定用户:drop user ‘tom’@’localhost’;

给所有用户以权限

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘qq_123456_admin’;

  相关解决方案