Linux普通用户安装配置mysql(非root权限)

说明:在实际工作中,公司内网的机器我们一般没有root权限,也没有连网,最近参考网上的资料使用一般的账户成功安装mysql,记录如下

Linux版本:RedHat CentOs

Mysql版本:5.7.29

使用的一般用户名:apps

一、下载安装包

进入mysql官网下载社区通用版 MySQL Community Server,不清楚系统多少位的,执行以下命令查看

$ cat /proc/version		#查看系统版本等信息

二、解压安装包

  1. mysql下载完成后上传到当前普通用户目录下解压,依次执行以下命令

    $ tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz         #解压文件包
    $ mv mysql-5.7.29-linux-glibc2.12-x86_64 /home/apps/mysql #移动到指定目录并重命名
  2. 编辑my.cnf配置文件,放在当前mysql安装目录下,依次执行以下命令

    $ cd mysql	      #进入安装目录
    $ vim my.cnf #编辑配置文件
  3. 编辑my.cnf文件,我这里mysql的路径是/home/apps/mysql,需根据自己的路径进行修改

    [client]
    port=3306 #服务端口
    socket=/home/apps/mysql/mysql.sock #指定套接字文件 [mysqld]
    port=3306 #服务端口
    basedir=/home/apps/mysql #mysql安装路径
    datadir=/home/apps/mysql/data #数据目录
    pid-file=/home/apps/mysql/mysql.pid #指定pid文件
    socket=/home/apps/mysql/mysql.sock #指定套接字文件
    log_error=/home/apps/mysql/error.log #指定错误日志
    server-id=100 #Mysql主从唯一标识

三、安装启动mysql

  1. 安装:依次执行以下命令,指定配置文件安装并初始化mysql,没有报错即安装成功

    $ cd bin
    $ ./mysqld --defaults-file=/home/apps/mysql/my.cnf --initialize --user=apps --basedir=/home/apps/mysql --datadir=/home/apps/mysql/data #安装并初始化mysql
  2. 启动:依次执行以下命令,没有报错并能成功监听3306端口即表示启动成功

    $ ./mysqld_safe --defaults-file=/home/apps/mysql/my.cnf --user=apps &      #启动mysql
    $ netstat -tln | grep 3306 #查看是否成功监听3306端口

四、登入mysql

  1. 获取初始密码,初始密码在error.log日志文件内,执行以下命令

    $ cd ..
    $ less error.log | grep root@localhost #查找root用户的初始登录密码
  2. 登录mysql,直接输入登录命令 bin/mysql -u root -p 有可能会报以下错

    上图错误表示mysql没有找到/tmp/mysqk.sock文件

    有两种解决方法

    • 如果本机上没有其他数据库,可以通过软连接方式将寻找sock文件的路径指向我们mysql安装目录下的sock文件

    • 也可以直接指定mysql.sock文件启动,执行以下命令:

      $ ./mysql -u root -p -S /home/apps/mysql/mysql.sock 	#指定sock文件登录
  3. 成功登入mysql后,修改登录密码,执行以下sql语句

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');	--设置登录密码为123456
    flush privileges;

五、开启远程访问

  1. 使用第三方工具连接mysql数据库时,需要提前开启mysql的远程访问限制,执行以下sql语句

    use mysql		--切换至mysql数据库
    select User,authentication_string,Host from user; --查看用户认证信息

    查表后可以看到都是localhost的访问权限

  2. 修改权限,允许其他地址的主机访问mysql,这里密码是123456,实际根据自己的来,%代表所有主机,也可以具体到ip地址

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';	--允许其他主机访问
    flush privileges;

    再次查表可以发现多了个用户,表示成功开启远程访问,可以使用工具远程连接

    select User,authentication_string,Host from user

至此,我们的mysql就算安装完成了

Linux普通用户安装配置mysql(非root权限)的更多相关文章

  1. Linux中如何安装配置Mysql和SVN服务端

    目标Linux系统为centOS 一.安装登陆mysql   1.直接以root用户运行:yum install mysql 和yum install mysql-server等带安装完成. 2.安装 ...

  2. Linux环境下安装配置Mysql

    首先我们的使用的是linux的 centOS6 版本 安装mysql: 1.查看有没有安装包 yum list mysql* 2.进行安装mysql:一般我们在服务器端安装的都是服务端( mysql- ...

  3. linux Ubuntu18.04 安装配置MySQL

    1.安装 ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server   2. apt-get install mysql ...

  4. Linux虚拟机下安装配置MySQL

    一.      下载mysql5.7 http://mirrors.sohu.com/mysql/MySQL-5.7/ Linux下载: 输入命令:wget http://mirrors.sohu.c ...

  5. Linux Ubuntu下安装配置mysql

    检查系统中是否已经安装了mysql: sudo netstat -tap | grep mysql 安装mysql: sudo apt-get install mysql-server sudo ap ...

  6. Linux环境(服务器)下非root用户安装Python3.6

    Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...

  7. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  8. 二进制方式安装docker(非root用户启动docker)

    二进制方式安装docker(非root用户启动docker) 一.下载安装包: 地址:https://download.docker.com/linux/static/stable/x86_64/ 这 ...

  9. 详解在Linux中安装配置MySQL

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MySQL 安装环境 CentOS7 + MySQL5.7 下载安 ...

随机推荐

  1. Linux下/bin和/sbin的区别

    bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp.chmod df.dmesg.gzip.kill.ls.mkdir.more.mount.rm.su.tar等./u ...

  2. μC/OS-III---I笔记12---任务管理

    任务管理任务切换应该算是UCOS最基本的部分,首先保存当前任务寄存器的内容到当前任务的堆栈:接着弹出即将进行的任务的堆栈内容到寄存器中然后就是按寄存器内容执行,这个过程成为上下文切换.任务堆栈在创建任 ...

  3. JavaScript Engine 可视化

    JavaScript Engine 可视化 图解 JavaScript Engine JavaScript 可视化 (7 部曲) ️ JavaScript Visualized: Event Loop

  4. LeetCode 二叉树,两个子节点的最近的公共父节点

    LeetCode 二叉树,两个子节点的最近的公共父节点 二叉树 Lowest Common Ancestor of a Binary Tree 二叉树的最近公共父亲节点 https://leetcod ...

  5. C++ 0LL

    C++ 0LL C plus plus L / l means long LL === long long int countDigitOne(int n) { int countr = 0; for ...

  6. js 位掩码

    原文 定义掩码 const mask0 = parseInt("00000001", 2); const mask1 = parseInt("00000010" ...

  7. css整理之-----------布局相关

    文档流 文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式布局,文档流可以分为定位流.浮动流.普通流三种 普通流(Normal flow) 在常规流中,盒一个接着一个排列, ...

  8. LoveWord

    个人喜欢的句子汇总! 我告诉你我喜欢你,并不是一定要和你在一起,只是希望今后的你,在遭遇人生低谷的时候,不要灰心,至少曾经有人被你的魅力所吸引,曾经是,以后也会是----村上村树

  9. django学习-22.admi管理后台页面的文案展示等相关配置

    目录结果 1.前言 2.完整的操作步骤 2.1.第一步:对[settings.py]里的相关常量的值做如下修改 2.2.第二步:重启django项目[helloworld]的服务 2.3.第三步:重新 ...

  10. django学习-6.模板templates

    1.前言 首先,我们要知道html是一门静态语言,里面没法传一些动态参数,也就是一个写死的html页面. 那么,如果我们想实现在一个html页面里传入不同的参数对应的参数值,这就可以用django框架 ...