杨海振
当自己的才华撑不起野心时,那就沉下心来学习吧!

Mysql安装

下载:
https://dev.mysql.com/downloads/
http://mirrors.sohu.com/
https://mirrors.tuna.tsinghua.edu.cn/

一、安装环境

操作系统CentOS7.6

关闭SeLinux和iptables防火墙

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable firewalld
systemctl stop firewalld

二、更新网络YUM源

将下面的软件下载到 /etc/yum.repos.d/ 的目录下
官方基础:

curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

epel拓展:

curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

注:下载完成后,需要使用命令清楚掉原有的yum缓存,使用新的配置建立缓存

yum clean all    #清除原有缓存列表
yum makecache    #建立新的缓存列表
yum -y update    #将所有能更新的软件更新,这样安装之后就有依赖所有新的软件

三. 安装方式:

//注意:
使用mysql Yum仓库时,默认选择最新的mysql版本,如果需要使用低版本请按如下操作。

1.安装mysql仓库源

  rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

2.选择并启用适合当前平台的发行包

//列出所有mysql发行版本仓库

 yum repolist all | grep mysql

3.禁用8.0发行仓库,启用5.7发行仓库

yum install yum-utils
yum-config-manager --disable  mysql80-community
yum-config-manager --enable  mysql57-community
注:安装yum-config-manager
 yum provides yum-config-manager

//注意:
可以手动编辑/etc/yum.repos.d/mysql-community.repo 文件配置仓库

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=1		//enabled=1 启用
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

4.过以下命令安装mysql,并启动mysql

yum install -y mysql-community-server
systemctl start mysqld
systemctl enable mysqld

注:Mysql 服务器初始化(仅适用于mysql5.7)在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况
服务器已初始化
在数据目录中生成ssl证书和密钥文件
validate_password插件安装并启用
超级用户账户'root'@'localhost'已创建
超级用户的密码被设置并存储在错误日志的文件中,要显示它,请使用以下命令;

grep "password" /var/log/mysqld.log 
2020-11-11T02:33:50.996492Z 1 [Note] A temporary password is generated for root@localhost: D)<MPoZus7/a

5.MySQL5.7初始化后5种密码重置方法

1.从日志中获取随机生成的密码
grep "password" /var/log/mysqld.log
登陆后并不能做任何操作

方法1:使用alter修改

alter user root@'localhost' identified by "SH123.com";
flush privileges;

方法2:使用set password

set password for 'root'@'locathost' = password('SH123.com');
flush privileges;

方法3:使用update

update mysql.user set authentication_string = password('SH123.com');
flush privileges;

方法4:使用mysql_secure_installation

方法5:跳过授权列表skip-grant-tables

vim  /etc/my.cnf
[mysqld]
skip-grant-tables=1

重启mysql,再修改

systemctl restart mysqld
mysql 

Summary
a. mysql5.7安装好后会在/var/log/mysql.log中产随机密码,而且不修改密码不能执行任何操作
b. mysql5.7的user表中的password字串修改为authentication_string
c. 修改密码的Policy转变是1(中级),因此设置时要符合规则
d. 跳过授权列时,同时也不受密码policy影响
e.mysql 的validate_password插件默认安装。将要求密码至少包含大写、小写、特殊字符。

注意:yum 安装 默认数据安装目录(一般建议修改)

ll  /var/lib/mysql
cat /etc/my.cnf

2. 二进制安装

2.1.安装
[root@mysql ~]# mkdir /soft/src -p
[root@mysql ~]# cd /soft/src/
[root@mysql ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
[root@mysql src]# tar xf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
[root@mysql src]# cp -r mysql-5.7.32-linux-glibc2.12-x86_64  /soft/mysql57
[root@mysql soft]# ln -s /soft/mysql57/ /soft/mysql
[root@mysql soft]# groupadd mysql
[root@mysql soft]# useradd -r -g mysql -s /sbin/nologin mysql
注:
[root@mysql src]# md5sum mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
63f400a1c3727996176451c7f7457992  (和官网MD5 比较)
2.2.进行mysql初始化

//创建初始化目录以及数据库数据目录

[root@mysql soft]# mkdir /soft/mysql/{mysql-file,data}
[root@mysql soft]# chown -R mysql.mysql /soft/mysql/

//验证:

[root@mysql soft]# ll -d /soft/mysql/
drwxr-xr-x. 11 mysql mysql 159 Nov 12 09:08 /soft/mysql/
[root@mysql soft]# ll /soft/mysql/
total 260
.略

//初始化数据库

[root@mysql soft]# /soft/mysql/bin/mysqld --initialize --user=mysql --basedir=/soft/mysql --datadir=/soft/mysql/data

//验证:

[root@mysql soft]# echo $?
0

注:初始化会把临时密码打印出来

2.3.建立mysql的配置文件
[root@mysql soft]# cp /etc/my.cnf /etc/my.cnf.bak
[root@mysql soft]# cat > /etc/my.cnf <<EOF
[mysqld]
basedir=/soft/mysql
datadir=/soft/mysql/data
EOF
2.4.拷贝mysql.server启动文件到/etc/init.d/mysqld

//注:
[root@mysql soft]# ls /soft/mysql
bin data docs include lib LICENSE man mysql-file README share support-files

[root@mysql soft]# cp /soft/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@mysql soft]# chkconfig --add mysqld
[root@mysql soft]# chkconfig mysqld on 
2.5.修改安装目录以及数据存放目录
[root@mysql soft]# sed -i '/^basedir=/cbasedir\/soft/mysql'   /etc/init.d/mysqld 
[root@mysql soft]# sed -i '/^datadir=/cdatadir\/soft/mysql\/data'   /etc/init.d/mysqld 
2.5.1.启动MySQL
[root@mysql soft]# /etc/init.d/mysqld start
2.6.加入环境变量
[root@mysql soft]# echo "export PATH=$PATH:/soft/mysql/bin" >>/etc/profile
[root@mysql soft]# source /etc/profile
2.7.登陆及修改密码
[root@mysql soft]# /soft/mysql/bin/mysql -uroot -p

mysql>alter user root@'localhost' identified by "SH123.com";

//注:验证

[root@mysql soft]# ps aux | grep mysql

/soft/mysql/bin/mysqld    命令

--basedir=/soft/mysql   指定MySQL的安装路径

--datadir=/soft/mysql/data  指定MySQL数据存放路径

--plugin-dir=/soft/mysql/lib/plugin  指定MySQL插件

--user=mysql   指定MySQL进程运行的用户

--log-error=web01.err  指定MySQL错误日志 

--pid-file=/soft/mysql/data/web01.pid  指定MySQL的pid

//查看端口:(三种方式)

lsof -i:3306
ss -lntup | grep mysql
netstat -lntup | grep mysql 

3、源码安装:

3.1.编译工具和依赖软件包
yum -y install gcc* pcre-devel openssl openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel
3.2、下载MYsql

//将MYSQL下载到目录 /soft下

mkdir -p  /soft
wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.62.tar.gz     -C  /soft/

//为mysql创建运行用户

useradd -r -s /sbin/nologin mysql

//解压 mysql

tar -xf mysql-5.5.62.tar.gz

//进入解压目录,编译压缩mysql并安装

cd mysql-5.5.62/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

//编译并安装

make &&make install

//将mysql连接到/usr/local/bin

ln -s /usr/local/mysql/bin/* /usr/local/bin
3.3.修改安装后的目录权限
cd /usr/local/mysql

chown -R root

chown -R mysql data
3.4.生成配置文件
cp -a /soft/mysql-5.5.62/support-files/my-medium.cnf /etc/my.cnf
3.5.初始化,生成授权表
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql
3.6.生成Mysql的启动和自启动管理脚本
cd /soft/mysql-5.5.62/support-files

cp -a mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

service mysqld start | stop |restart
3.7.验证
netstat -lntup | grep mysql
3.8.设置登陆密码
mysqladmin -uroot password SH123.com
posted on 2021-06-09 14:28  沧海浮尘  阅读(225)  评论(0)    收藏  举报