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

时间:2024-03-08 21:17:43

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就算安装完成了