非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;
完成
作者:SunMoonSky
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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