非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 @   SunMoonSky  阅读(837)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
/**/
点击右上角即可分享
微信分享提示