非root用户在CentOS7下安装MySQL5.7

一、创建MySQL用户

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

注意:切换用户时如果报错

This account is currently not available.


用cat看看 mysql 的帐号信息

cat /etc/passwd | grep mysql

发现它的shell是“/sbin /nologin”,需要改成“/bin/bash”

vim /etc/passwd

修改完毕后,保存退出

二、下载MySQL 5.7二进制包

下载页面:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

OS选择:linux generic,按照系统版本下载。

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

解压:

tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

三、配置MySQL

例如把mysql数据放在data/mysql目录,创建目录。

mkdir -pv data/mysql

创建错误日志唯一指定路径

cd mysql
mkdir err

四.编辑my.cnf配置文件

编辑my.cnf配置文件,放在当前mysql安装目录下,依次执行以下命令

$ cd mysql	      #进入安装目录
$ vim my.cnf	      #编辑配置文件

编辑my.cnf文件

我的mysql的路径是/home/mysql/mysql,需根据自己的路径进行修改

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

非root用户配置环境变量

注意:这一步适用于非root用户安装,其他步骤一样

1.设置用户环境变量vi .bash_profile   或者是  vi   ~/.bashrc

Java:
vim .bash_profile

export JAVA_HOME=/home/java/jdk1.8.0_45

export JAVA_BIN=/home/java/jdk1.8.0_45/bin

export JRE_HOME=/home/java/jdk1.8.0_45/jre

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source .bash_profile

Mysql:
vim .bash_profile

export PATH=$PATH:/home/mysql/bin

source .bash_profile

五.安装启动mysql

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

$ cd bin
$ ./mysqld --defaults-file=/home/mysql/mysql/my.cnf --initialize --user=mysql --basedir=/home/mysql/mysql --datadir=/home/mysql/data/mysql		#安装并初始化mysql

启动:依次执行以下命令,没有报错并能成功监听3306端口即表示启动成功

./mysql -u root -p -S /home/apps/mysql/mysql.sock


 netstat -antlp|grep 3306

如果提示

运行下面的命令进行安装

yum -y install net-tools

查看进程

ps -ef|grep mysql

六.登入mysql

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

cd /home/mysql/mysql/bin

less error.log|grep root@localhost

2.登录mysql,直接输入登录命令 bin/mysql -u root -p 有可能会报以下错

有两种解决方法

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

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

./mysql -u root -p -S /home/mysql/mysql/mysql.sock

3.成功登入mysql后,修改登录密码,执行以下sql语句

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

七.开启远程访问

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

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


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

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';

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

select User,authentication_string,Host from user;

完成

posted @ 2020-10-23 15:18  SunMoonSky  阅读(743)  评论(0编辑  收藏  举报
/**/