1、环境准备
1.1、检查是否有安装mysql
[root@docker ~]# which mysqld
#出现以下内容即是没有安装
/usr/bin/which: no mysqld in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
1.2、 关闭防火墙和selinux
#停止防火墙和禁用开机启动
[root@docker ~]# systemctl stop firewalld
[root@docker ~]# systemctl disable firewalld
#关闭selinux并且永久关闭
[root@docker ~]# setenforce 0
[root@docker ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/conf
2、yum安装MySQL
2.1、安装mysql
#下载yum库
[root@docker ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
#安装yum库
[root@docker ~]# yum install -y mysql57-community-release-el7-10.noarch.rpm
#yum安装mysql
[root@docker ~]# yum install -y mysql-community-server --nogpgcheck
#启动mysql
[root@docker ~]# systemctl start mysqld
2.2、查看临时密码
[root@docker ~]# grep 'password' /var/log/mysqld.log
进入数据库修改密码
[root@docker ~]# mysql -uroot -p
mysql> alter user root@'localhost' identified by 'Aa123456.';
用外部工具连接数据库会发现远程连接不上,在服务器上可以连接上,需要远程授权
#授权任何主机可以通过root远程mysql
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Aa123456.';
#update user set host="%" where user="root"; 可以使用这个
mysql> flush privileges;
#查看mysql用户
mysql> select user,host from mysql.user;
2.3、卸载mysql
#停止MySQL
[root@docker ~]# systemctl stop mysqld
#找到要卸载的包
[root@docker ~]# yum list installed | grep mysql
[root@docker ~]# yum remove mysql mysql-server mysql-libs mysql-common
#删除相关文件
[root@docker ~]# rm -rf /etc/my.cnf
[root@docker ~]# rm -rf /etc/mysql/
[root@docker ~]# rm -rf /var/lib/mysql/
#删除用户和用户组
[root@docker ~]# userdel mysql
[root@docker ~]# groupdel mysql
#验证是否卸载完成
[root@docker ~]# yum list installed | grep mysql
3、二进制安装MySQL
安装包下载地址:https://downloads.mysql.com/archives/community
[root@docker ~]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-el7-x86_64.tar.gz
#解压至/usr/local/
[root@docker ~]# tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz -C /usr/local/
3.1、卸载系统自带的MySQL
[root@docker ~]# rpm -qa | grep mariadb
#根据上一步搜索出来的版本进行卸载
[root@docker ~]# rpm -e --nodeps mariadb-xxxx
3.2、新建MySQL用户组和非登录用户
[root@docker ~]# groupadd mysql
[root@docker ~]# useradd -r -g mysql -s /bin/false mysql
3.3、开始安装MySQL
#进入刚解压的目录,并且重命名
[root@docker ~]# cd /usr/local/
[root@docker local]# mv mysql-5.7.44-el7-x86_64 mysql
#查看mysql目录结构
[root@docker local]# tree mysql/ -L 1
.
├── bin #可执行文件
├── docs #相关手册
├── include #头文件
├── lib #包库
├── LICENSE
├── man
├── README
├── share
└── support-files
为了后期方便使用mysql命令,需要把/usr/local/mysql/bin 目录加到系统环境变量中
[root@docker mysql]# vim /etc/profile
在最后添加:
export PATH=$PATH:/usr/local/mysql/bin
[root@docker mysql]# source /etc/profile
初始化mysql并记住随机生成的密码
[root@docker mysql]# mysqld --initialize --user=mysql
#启动MySQL
[root@docker mysql]# mysqld_safe --user=mysql &
关于修改密码和远程连接授权可以参考yum安装的步骤
3.4、使用启动脚本
[root@docker mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
[root@docker mysql]# chmod +x /etc/init.d/mysql.server
[root@docker mysql]# chkconfig --add mysql.server
#启动和停止命令
service mysql.server start
service mysql.server stop
3.5、删除MySQL
#停止MySQL
[root@docker ~]# service mysql.server stop
#删除添加的 mysql.server 服务
[root@docker ~]# chkconfig --del mysql.server
[root@docker ~]# rm -f /etc/init.d/mysql.server
#删除 MySQL 安装相关文件
[root@docker ~]# rm -rf /usr/local/mysql