Centos非ROOT(普通用户)环境安装/启动/运行 MySQL

                                                            目录

          准备安装环境

1, 安装Mysql基础依赖包:(在root下安装) 删除冲突依赖包

2,创建用户

3,解压MySQL安装包,然后移动mysql包至mysql目录里

4,在mysql目录下创建文件my.cnf,创建data目录

5,进入mysql目录,开始安装mysql

6,启动MySQL 

7,获取MySQL登录密码

8,登录mysql输入密码 并更改mysql初始密码


准备安装环境


下载mysql安装包,官网地址:MySQL :: Download MySQL Community Server.
server CentOS7为例
用户名zhao,需要把mysql安装到用户目录下  /home/zhao

1, 安装Mysql基础依赖包:(在root下安装) 删除冲突依赖包


rpm -qa | grep mariadb      ##查看并删除冲突依赖包
rpm -qa | grep postfix         ##查看并删除冲突依赖包
rpm -e  --nodeps mariadb-libs          ##删除命令
yum -y install perl-Module-Install.noarch net-tools.x86_64      ##安装依赖包
 

[root@localhost ~]# yum -y install perl-Module-Install.noarch net-tools.x86_64 libasio

2,创建用户


useradd zhao   用户密码为zhao123

root@localhost ~]# useradd zhao
[root@localhost ~]# passwd zhao
更改用户 zhao 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# 
[root@localhost ~]# cd /home/zhao/


3,解压MySQL安装包,然后移动mysql包至mysql目录里

[zhao@localhost /]$ cd home/zhao/
[zhao@localhost ~]$ ls
mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
[zhao@localhost ~]$ tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz  ##解压mysql包
[zhao@localhost ~]$ ll
总用量 629804
drwxrwxr-x 9 zhao zhao       129 6月  20 16:19 mysql-5.7.27-linux-glibc2.12-x86_64
-rw-r--r-- 1 zhao zhao 644916075 6月  11 2019 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

[zhao@localhost ~]$ mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql  ##包名太长移动改为mysql
总用量 629804
drwxrwxr-x 9 zhao zhao       129 6月  20 16:19 mysql
-rw-r--r-- 1 zhao zhao 644916075 6月  11 2019 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
[zhao@localhost ~]$ pwd
/home/zhao

4,在mysql目录下创建文件my.cnf,创建data目录

[zhao@localhost ~]$ cd mysql/
[zhao@localhost mysql]$ ls
bin  COPYING  docs  include  lib  man  README  share  support-files
[zhao@localhost mysql]$ pwd
/home/zhao/mysql
[zhao@localhost mysql]$ vi my.cnf     ##创建文件my.cnf
[zhao@localhost mysql]$ cat my.cnf 
 [client]   
port=3336  
socket=/home/zhao/mysql/mysql.sock  

[mysqld]
port=3306
basedir=/home/zhao/mysql
datadir=/home/zhao/mysql/data
pid-file=/home/zhao/mysql/mysql.pid
socket=/home/zhao/mysql/mysql.sock  
log_error=/home/zhao/mysql/error.log
server-id=100

[zhao@localhost mysql]$ mkdir data    ##再创建data目录

5,进入mysql目录,开始安装mysql


bin/mysqld  --defaults-file=/home/zhao/mysql/my.cnf --initialize  --user=zhao  --basedir=/home/zhao/mysql  --datadir=/home/zhao/mysql/data

[zhao@localhost mysql]$ pwd
/home/zhao/mysql

[zhao@localhost mysql]$ bin/mysqld  --defaults-file=/home/zhao/mysql/my.cnf --initialize  --user=zhao  --basedir=/home/zhao/mysql  --datadir=/home/zhao/mysql/data

6,启动MySQL 

bin/mysqld_safe  --defaults-file=/home/zhao/mysql/my.cnf  --user=root &,

[zhao@localhost mysql]$ bin/mysqld_safe  --defaults-file=/home/zhao/mysql/my.cnf  --user=root &
[1] 10005
[zhao@localhost mysql]$ 2022-06-20T08:27:58.885832Z mysqld_safe Logging to '/home/zhao/mysql/error.log'.
2022-06-20T08:27:58.910897Z mysqld_safe Starting mysqld daemon with databases from /home/zhao/mysql/data

[zhao@localhost mysql]$ 

7,获取MySQL登录密码


grep "password" /home/zhao/mysql/error.log

[zhao@localhost mysql]$ grep "password" /home/zhao/mysql/error.log
2022-06-20T08:25:17.945562Z 1 [Note] A temporary password is generated for root@localhost: Pfpa=4#<uWk3  ##为mysql初始密码

#查看端口3336 是否起来

[zhao@localhost mysql]$ ss -utnlap | grep mysql  ##已起来
tcp    LISTEN     0      80       :::3306                 :::*                   users:(("mysqld",pid=10170,fd=20))

需要将mysql.sock 下 链接在/tmp/mysql.sock下

[zhao@localhost mysql]$ ln -s /home/zhao/mysql/mysql.sock /tmp/

8,登录mysql输入密码 并更改mysql初始密码

[zhao@localhost mysql]$ bin/mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.27

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> mysql> set password for root@localhost = password('Admin@1234'); ##更改mysql初始密码
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit

搭建完成