方式一

一、下载并安装mysql57:

rpm -qa | grep mysql #检查是否安装了mysql
rpm -qa | grep mariadb #检查是否安装了mariadb
rpm -e xxx  #一般使用此命令即可卸载成功
rpm -e --nodeps xxx #卸载不成功时使用此命令强制卸载)

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 #安装MySql
yum repolist enabled | grep mysql.*  #查看一下安装效果
yum -y install mysql-community-server --nogpgcheck
--nogpgcheck选项将指示它跳过检查软件包上的GPG签名验证

二、启动并查看状态MySQL:

systemctl start  mysqld.service
systemctl status mysqld.service

三、查看MySQL的默认密码:

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

四、登录进MySQL

mysql -uroot -p

五、修改默认密码(设置密码需要有大小写符号组合—安全性),把下面的my passrod替换成自己的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'my password';

六、开启远程访问 (把下面的my passrod替换成自己的密码)

grant all privileges on *.* to 'root'@'%' identified by 'my password' with grant option;

flush privileges;

exit

七、在云服务上增加MySQL的端口

systemctl enable mysqld 	#设置开机自启
systemctl daemon-reload

firewall-cmd --permanent --add-port=3306/tcp  //防火墙开发3306端口
systemctl status firewalld  //查看防火墙的状态

二、方式二

1、通过 Xftp 将 MySQL 安装包拷贝到 Linux

2、解压缩

tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar 

3、安装 common、libs、client、server

4、删除自带的 mariadb

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

5、安装命令行

rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force

6、初始化 MySQL(初始密码在vim /etc/my.cnf文件)

mysqld --initialize

7、授权防火墙

chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

8、查看数据库的初始化密码

cat /var/log/mysqld.log | grep password

9、登录数据库

mysql -uroot -p

10、修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

11、使用新密码登录

12、开启远程访问

create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

13、开放 3306 端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

14、MySQL 安装默认使用美国的时区,北京时间比美国晚 8 小时

set global time_zone='+8:00';

15、创建数据表

create database test character set utf8 collate utf8_general_ci;
use test;
create table user(
    id int primary key auto_increment,
    name varchar(22),
    birthday datetime
);
insert into user(name, birthday) VALUES ('小明','1999-01-01');
insert into user(name, birthday) VALUES ('小红','2000-01-01');

16、在MySQL中输入中文

#全局更改(哪个不是更改哪个)
show variables like'%char%';
set character_set_server = utf8;
#创建数据库时查看编码,并在创建数据库时设置为utf8
show variables like'%char%';
create database DatabaseName DEFAULT CHARACTER SET utf8;
show create database DatabaseName;
#不想创建新的数据库,可以只修改表的属性
 #查看表的列的属性
show full columns from tablename;
 #修改
alter table TableName change ColumnsName ColumnsName varchar(255) 
character set utf8 collate utf8_unicode_ci not null default '';

MySQL 安装踩坑

错误

mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

解决方案这是却少numactl这个时候如果是Centos就 yum -y install numactl就可以解决问题

错误

Job for mysqld.service failed because the control process exited with errorcode

解决方案是因为 /var/lib/mysql /这个目标路径已经存在/var/lib/mysql /,导致无法初始化删除/var/lib/mysql /后重启MySQL服务就可以了!

错误

 You must reset your password using ALTER USER statement beforeexecuting this statement

解决方案ALTER USER USER() IDENTIFIED BY '123456';

错误

 Your password does not satisfy the current policy requirements

解决方案

1、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 

即可,输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

2、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句 “ set global validate_password_length=6; ” 进行设值,

3、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看到修改成功,表示密码策略修改成功了

Q.E.D.