CentOS7 安装mysql

卸载MariaDB(CentOS7 默认自带)

注:一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。
#rpm -qa | grep -i mariadb
#rpm -e --nodeps 强制删除mariadb的所有相关软件包
#find / -iname mariadb或者whereis mariadb 查找是否有相关配置目录及文件,如有,则 rm -rf 删除

卸载已有MySQL

//卸载旧版本的Mysql
rpm -qa | grep -i mysql //查看有没有安装mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64 //如果有,卸载旧版本Mysql及相关依赖包

//删除服务
chkconfig --list | grep -i mysql //查看服务
chkconfig --del mysql //删除服务

//删除mysql分散的文件夹
whereis mysql //查出相应的mysql文件夹,也可以用find / -name mysql
rm -rf /use/lib/mysql //删除

配置mysql yum

在MySQL官网中下载YUM源rpm安装包:
https://dev.mysql.com/downloads/repo/yum/

在这里插入图片描述
下载完成后将rpm文件上传到linux服务器上,上传目录可以自己制定,依次执行下列命令。
yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum repolist enabled | grep “mysql.-community.

mysql

  1. 先安装mysql依赖
    yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake bison git openssl openssl-devel

如果执行命令时出现下列问题
在这里插入图片描述
导致该问题得情形之一是没有配置nameserver
修改配置文件:
vim /etc/resolv.conf
在文件中加入

nameserver 8.8.8.8
nameserver 8.8.4.4

然后保存退出
再次执行mysql依赖安装命令
安装完成后继续执行命令
yum install mysql-community-server
执行后会下载相关资源,安装时间会比较长,耐心等待
如果遇到需要输入yes/no的情况,直接输入 y 即可

启动MySQL服务

执行mysql启动命令:
systemctl start mysqld

查看MySQL的启动状态:
systemctl status mysqld

设置mysql开机启动:
systemctl enable mysqld
systemctl daemon-reload

修改root本地登录密码

sql安装完成之后,会由一个默认密码,我们先获取这个临时密码,执行:
grep ‘temporary password’ /var/log/mysqld.log
在这里插入图片描述
这里会出现临时密码
然后执行mysql登录命令:
mysql -uroot -p
在Enter password:后输入刚才获取到的临时密码
然后执行修改密码命令:
mysql -uroot -pmysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘这里输入你的密码’;

添加远程登录用户

添加一个允许远程连接的帐户:
GRANT ALL PRIVILEGES ON . TO ‘这里输入用户名’@’%’ IDENTIFIED BY ‘这里输入密码’ WITH GRANT OPTION;

配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
vi /etc/my.cnf
加入
character_set_server=utf8
init_connect=‘SET NAMES utf8’

mysql开放远程连接以及linux开放3306端口

用root用户登录mysql
mysql -uroot -p
输入自己设置的密码
然后依次输入下列命令
use mysql;
update user set user.Host=’%’ where user.User=‘root’;
flush privileges;

linux 服务器开放 3306 端口

查看已经开放的端口列表:
firewall-cmd --zone=public --list-ports

开放端口 3306(–permanent 为是设置端口永久开放)
firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启 firewall 服务
systemctl restart firewalld.service

如果你是云服务器的话,别忘记添加端口号为3306的安全组规则