1.查看系统中是否安装mysql或者maiadb
rpm -qa | grep mysql 或 yum list installed | grep mysql
rpm -qa | grep mariadb yum list installed | grep mysql
2.删除已安装mysql或者mariadb及其依赖包(默认情况下centos7以上存在mariad)
yum -y remove mariabd-libs.x86_64
3 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
4 安装 mysql57-community-release-el7-8.noarch.rpm 包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装完后,得到如下两个包:
mysql-community.repo
mysql-community-source.repo

5 安装 MySQL:
yum install mysql-server
遇到疑问的地方,一路 Y 下去即可;
安装完毕后,在 /var/log/mysqld.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:
grep "password" /var/log/mysqld.log
打印如下内容:
A temporary password is generated for root@localhost: hilX0U!9i3_6
我们复制 root@localhost: 后面的随机字符串,这个字符串就是 MySQL 在安装完成后为我们随机生成的密码;
6 登录到 MySQL 服务端并更新用户 root 的密码:
mysql -u root -philX0U!9i3_6
打印出 MySQL 的版本即表明已登录;
7.强制使用ALTER USER 重置密码:
alter user 'root'@'localhost' identified by 'Hewei@123';
8.设置用户访问权限
设置用户 root 可以在任意 IP 下被访问:
grant all privileges on . to root@"%" identified by 'Hewei@123';
设置用户 root 可以在本地被访问:
grant all privileges on . to root@"localhost" identified by "新密码";
刷新权限使之生效:
flush privileges;
*更新 MySQL 的用户 root的密码:
update mysql.user set authentication_string=password('Hewei@123') where user='root';
10.配置文件基本设置my.conf
在 [mysqld] 前添加如下代码:
[client]
default-character-set=utf8
在 [mysqld] 后添加如下代码:
query_cache_size = 128M
query_cache_type = ON
character-set-server=utf8
max_allowed_packet=102400
skip-name-resolve
max_connections=512
slow_query_log=on
slow_query_log_file=/home/mysql/log
long_query_time=1
11.mysql的基本命令
创建数据库和设置字符集
create database test character set utf8 collate utf8_bin;
查看mysql配置参数
show variables like '%character%';
设置参数
set global validate_password_policy=0;
创建用户
create mysql.user 'hewei'@'localhost' identified by '123456';
12.服务启动
启动 MySQL 服务:
service mysqld start
关闭 MySQL 服务:
service mysqld stop
重启 MySQL 服务:
service mysqld restart
查看 MySQL 的状态:
service mysqld status
忘记密码
1.在my.conf 下添加skip-grant-tables
2.更新root密码:update mysql.user set authentication_string=password('Hewei@123') where user='root';
3.刷新: flush privileges;
4.my.conf下去掉skip-grant-tables(需要重启mysqld服务)
5.alter user 'root'@'localhost' identified by 'Hewei@123';(必须更新root密码,否则输入语句提示1820错误)

/var/lib/mysql 是存放数据库文件的目录;
/var/log 目录下的 mysqld.log 文件记录 MySQL 的日志;
MySQL 采用的 TCP/IP 协议传输数据,默认端口号为 3306,我们可以通过如下命令查看:
netstat -anp