linux 之 非root用户安装mysql5.7.27

下载

下载 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz 详见linux(CentOS7) 之 MySQL 5.7.30 下载及安装

配置规划

用户: zhjsapp
压缩包存放路径: /zhjsapp/software
安装目录: /zhjsapp/app/mysql
数据文件目录: /zhjsapp/app/mysql/data
占用端口:3306
默认socket文件存放路径: /zhjsapp/app/mysql/tmp/mysql.sock 客户端与服务器端通信的套接字文件

以下操作全为普通用户操作,无sudo权限。

安装

解压

cd /zhjsapp/software 
tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -C /zhjsapp/app/

重命名 mysql-5.7.27-linux-glibc2.12-x86_64为mysql

mv /zhjsapp/app/mysql-5.7.27-linux-glibc2.12-x86_64 /zhjsapp/app/mysql

在mysql目录下创建my.cnf配置文件

cd /zhjsapp/app/mysql
vi my.cnf
[client]
port=3306
socket=/opt/modules/mysql/mysql.sock

[mysqld]
port=3336
basedir=/opt/modules/mysql
datadir=/opt/modules/mysql/data
pid-file=/opt/modules/mysql/mysql.pid
socket=/opt/modules/mysql/mysql.sock
log_error=/opt/modules/mysql/error.log
server-id=100

因为socket在mysql/support-files/mysql.server中配置的默认目录是/tmp/mysql.sock(也可以修改mysql/support-files/mysql.server文件,但不建议这么做。因为容易出错。),我们my.cnf中配置的是/zhjsapp/app/mysql/mysql.sock,后续启动的时候会报错。
所以,可以须要/zhjsapp/app/mysql/mysql.sock创建一个软连接到/tmp/mysql.sock

ln -s /zhjsapp/app/mysql/mysql.sock /tmp/mysql.sock

配置环境变量(zhjsapp)

echo "export PATH=$PATH:/zhjsapp/app/mysql/bin"

让配置生效

source ~/.bash_profile

初始化mysql

mysqld --defaults-file=/zhjsapp/app/mysql/my.cnf --initialize --user=zhjsapp --basedir=/zhjsapp/app/mysql --datadir=/zhjsapp/app/mysql/data

初识化完了,不会有任何提示。去在mysql/error.log文件里,找到生产的临时密码。

[Note] A temporary password is generated for root@localhost: heiqeuTzo3_w

启动mysql

mysqld_safe --defaults-file=/zhjsapp/app/mysql/my.cnf --user=zhjsapp&

登陆mysql

mysql -u root -pheiqeuTzo3_w

修改mysql的root密码

set password for 'root'@'localhost' = password('zhjsapp');

退出mysql

q

使用新密码重新登录

mysql -u root -pzhjsapp

OK,安装完成!

世风之狡诈多端,到底忠厚人颠扑不破; 末俗以繁华相尚,终觉冷淡处趣味弥长。
原文地址:https://www.cnblogs.com/simple-li/p/14638113.html