7.4.1. 检测是否安装MySQL数据库和Mariadb
1、检测系统有没有安装mysql数据库和Mariadb,
执行命令:rpm -qa | grep mysql
执行命令:rpm -qa|grep mariadb
2、删除
如果有,需要先删除Mysql和Mariadb
1)mysql删除,执行命令:
cp /etc/my.cnf /etc/my.cnf.bak
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 将找到mysql相关东西delete掉(rm -rf /var/lib/mysql);
执行命令:rm /etc/my.cnf (删除my.cnf文件)
查看是否还有mysql软件,执行命令:
执行命令:rpm -qa|grep mysql
如果存在的话,继续删除即可。
2)Mariadb删除:
执行命令:rpm -e --nodeps
mariadb-libs-5.5.56-2.el7.x86_64
根据上面的检测,我们需要删除Mariadb。
7.4.2. 拷贝离线安装包并解压
1、下载
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz安装包,下载链接如下:
链接:
https://pan.baidu.com/s/1wvIy783bXktDxxQdtXNLfA ,提取码:0ra5
或者通过以下MySQL官网链接下载即可:
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
2、放置在/opt/ 路径下:
用工具将
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz上传到/opt/下,
3、解压安装包,解压到”/opt/“下面:
# 切换目录
执行命令:cd /opt
# 解压
执行命令:tar -xvf
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
# 重命名
执行命令:mv
mysql-5.7.36-linux-glibc2.12-x86_64 mysql
#或者通过创建软链接便于使用,这是为了方便后期维护者方便查看MySQL版本号
执行命令:ln -s
mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
#通过输入ll命令查看当前需要安装MySQL的所有文件
7.4.3. 创建mysql用户、用户组
# 添加mysql组
执行命令:groupadd mysql
# 创建用户mysql并将友好加到组mysql
执行命令:useradd -g mysql mysql
7.4.5. 修改配置文件my.cnf
执行命令:cp /etc/my.cnf.bak /etc/my.cnf
chmod 775 /etc/my.cnf,
执行命令:vi /etc/my.cnf
打开/etc/my.cnf文件,并在该文件中添加如下代码后保存退出
[mysqld]
# 配置MySQL的主目录
basedir=/opt/mysql/
# 配置MySQL的数据目录
datadir=/opt/mysql/data/
socket=/tmp/mysql.sock
user=mysql
tmpdir=/tmp
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server = utf8
[client]
default-character-set = utf8
[mysqld_safe]
# 配置MySQL的错误日志文件路径
log-error=/opt/mysql/data/error.log
# 配置MySQL的数pid文件路径
pid-file=/opt/mysql/mysql.pid
最后:按住Shift键,输入wq!回车保存后退出编辑界面
7.4.5. 安装并配置数据库
<1>. 进入MySQL解压后的主目录
执行命令:cd /opt/mysql
<2>.创建MySQL的数据文件目录”data“ ,并通过ll命令查看是否创建成功
执行命令:mkdir data
<3>.更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限,将MySQL的主目录的所有权改为mysql用户,并通过ll命令查看。
执行命令:chown -R mysql:mysql /opt/mysql/
chmod -R 755 /opt/mysql/
<4>.进入/opt/mysql/bin/目录,编译安装并初始化mysql,
执行命令:cd /opt/mysql/bin/
执行命令:./mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql
注:命令执行完后务必记住数据库管理员临时密码,如下图画红色框的部分
<5>. 将mysql/目录下所有文件,所有权都改回root用户,并通过ll命令查看。
执行命令:cd /opt/mysql
chown -R root .
<6>.将mysql用户只需作为mysql/data/目录下所有文件的所有者,并通过ll命令查看
执行命令:chown -R mysql data
<7>.制作MySQL启动文件
# 拷贝启动文件,并改名为mysqld
执行命令:cp
support-files/mysql.server /etc/init.d/mysqld
# 设置启动文件的权限
执行命令:chmod 755 /etc/init.d/mysqld
# 拷贝文件
执行命令:cp bin/my_print_defaults /usr/bin/
<8>.修改启动脚本
执行命令: vi /etc/init.d/mysqld
打开/etc/init.d/mysqld文件,并在该文件中添加如下代码后保存退出
# 配置MySQL的主目录
basedir=/opt/mysql/
# 配置MySQL的数据目录
datadir=/opt/mysql/data/
# 配置MySQL的端口
port=3306
# 5个位置的/usr/local/mysql全部修改成/opt/mysql,因为lz没有安装下/usr/local/mysq目录下,所以需要修改成lz安装的/opt/mysql目录
then
basedir=/opt/mysql
bindir=/opt/mysql/bin
if test -z "$datadir"
then
datadir=/opt/mysql/data
fi
sbindir=/opt/mysql/bin
libexecdir=/opt/mysql/bin
配置效果:
最后:按住Shift键,输入wq!回车保存后退出编辑界面
<9>.配置环境变量
配置环境变量文件”/etc/profile“
执行命令:vi /etc/profile
# 将MySQL主目录下面的bin目录加入到PATH环境变量
export PATH=$PATH:/opt/mysql/bin
最后:按住Shift键,输入wq!回车保存后退出编辑界面
然后使环境变量生效
执行命令:source /etc/profile
7.4.6. 设置Mysql数据库密码
<1>.启动MySQL服务
#查询服务
执行命令:ps -ef|grep mysql
ps -ef|grep mysqld
# 启动MySQL服务
执行命令:service mysqld start
<2>.登录MySQL进行配置
# 注意:-p后面接的是初始化密码”vb,VT;HUD7sa“,这个密码是随机产生,登录以后
立即修改。登录mysql ,密码就是初始化时生成的临时密码
执行命令:mysql -uroot -p ,输入密码:vb.VT;HUD7sa后回车
# 修改密码
执行命令:
use mysql;
如果报:You must reset your password using ALTER USER statement before executing this statement.
执行命令:
#这里注意,填写密码的时候满足8位并且尽量是混合密码(英文、下划线、数字)
alter user user() identified by 'ht88864488_.';
update user set authentication_string=password("ht88864488") where user="root";
FLUSH PRIVILEGES;
Exit;
7.4.7. 给root用户开启远程登录权限
# 设置MySQL远程可以登录。
执行命令:mysql -uroot -p ,输入密码:ht88864488后回车登录数据库
执行命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ht8864488' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Exit;
7.4.8. 防火墙开启3306端口权限
在防火墙上给MySQL开3306端口,以供用户的访问。
#授权3306端口号权限
执行命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙,执行命令:
#firewall-cmd --reload
注意:配置权限后,如果发现远程登录有如下报错:
解决办法:把密码重新重置一遍.
Mysql开机启动:
#增加mysql服务控制脚本执行权限,执行命令:
执行命令:chmod +x /etc/rc.d/init.d/mysqld
#将mysqld服务加入到系统服务,检查mysql服务是否已经生效,执行命令:
执行命令:
chkconfig --add mysqld
chkconfig --list mysqld
然后执行命令:reboot重启服务器查看服务器MySQL运行状态
执行命令:systemctl status mysql,发现Mysql已正常启动