1、在线安装MySQL57

1.1、下载并安装MySQL

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server --nogpgcheck

1.2、启动并查看MySQL状态

systemctl start  mysqld.service
systemctl status mysqld.service

1.3、查看MySQL默认密码

grep "password" /var/log/mysqld.log

1.4、登录MySQL

mysql -uroot -p

# 查看MySQL的用户
show databases;
use mysql; 
show tables;

select user,host from user;

1.5、修改默认密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '自己要设置的密码';

1.6、开启远程访问

在MySQL 5.7中,默认的身份验证插件还是为 mysql_native_password
# 授予了一个名为'root'的用户在任何主机('%'表示所有主机)上对所有数据库的所有权限,并且允许该用户将权限授予其他用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
或
grant all privileges on *.* to 'root'@'%' identified by 'mypassword' with grant option;

flush privileges;

exit

1.7、创建新用户

# 创建一个名为newuser的用户,并且该用户只能从本地主机(localhost)连接到MySQL服务器。用户的密码是password
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

# 允许该用户从任何主机连接,可以将主机部分指定为'%'
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

# 授予newuser用户在本地主机上对所有数据库的所有权限,并且允许该用户将权限授予其他用户
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;

# 只允许newuser用户访问mydatabase数据库(mydatabase.* 是一个通配符,表示所有位于名为 mydatabase 的数据库中的表)
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';

WITH GRANT OPTION 是在授予用户权限时的一个选项,它允许用户将自己拥有的权限授予其他用户

2、离线安装MySQL57

# 解压安装包
tar -axvf mysql-5.7.44-1.el6.x86_64.rpm-bundle.tar 

# 删除自带的 mariadb
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

# 安装MySQL
rpm -ivh mysql-community-common-5.7.44-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-5.7.44-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-5.7.44-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-5.7.44-1.el6.x86_64.rpm --nodeps --force

# 查看 SELinux 的当前配置(强制模式时,可能会导致 MySQL 在非标准端口(如 8090)上无法启动的问题。这是因为 SELinux 默认情况下可能会限制某些网络端口的访问。)
getenforce

# 1.配置 SELinux 允许 MySQL 使用指定端口:
semanage port -a -t mysqld_port_t -p tcp 8090

# 2.临时禁用 SELinux
setenforce 0

# mysql默认配置文件地址 /etc/my.cnf

# 给MySQL的默认数据存储地址赋权
chown -R mysql:mysql /var/lib/mysql

# 启动mysql
systemctl start mysqld.service;
systemctl enable mysqld;

# 查看mysql初始密码
cat /var/log/mysqld.log | grep password

# 登录mysql
mysql -uroot -p:29be0Eoi2wi

# 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY ':29be0Eoi2wi'; 

# 授予名为 'root' 的用户在所有数据库中的所有权限,并且允许该用户对其他用户进行授权操作
grant all privileges on *.* to 'root'@'%' with grant option;


# 刷新权限
FLUSH PRIVILEGES;