1、下载YUM仓库文件
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2.安装YUM Repo文件
yum localinstall mysql80-community-release-el7-1.noarch.rpm
3.选择具体的版本
yum -y install yum-utils 安装yum管理工具包,提供了yum-config-manager命令
yum repolist all |grep mysql 查看yum仓库关于mysql的所有仓库列表
yum repolist enable | grep mysql 只查看启用的
yum-config-manager --disable mysql80-community 禁用8.0
yum-config-manager --enable mysql57-community 开启5.7
禁用版本可以直接使用vi修改

4、开始安装MySQL
yum -y install mysql-community-server
5、管理MySQL服务
systemctl start mysqld 开启服务
systemctl enable mysqld 开机自启
systemctl status mysqld 服务状态
ss -ntal |grep 3306 查看数据库端口,默认3306
关于字段编码的补充
vim /etc/my.cnf 进入该文件编辑
// 设置默认字符集
[client]
# 其他客户端,比如 pymysql
default-character-set=utf8
[mysql]
# mysql 客户端
default-character-set=utf8
[mysqld]
# 服务器端的字符集
character-set-server = utf8
# 服务器端的排序规则
collation-server = utf8_unicode_ci
6.初始化MySQL
数据库下载好之后,会创建一个超级用户,账号root@localhost
下载好之后会随机生成一个密码,存储在/var/log/mysqld.log文件内
grep "temporary password" /var/log/mysqld.log
进入数据库修改密码
alter user root@localhost identified by 'password'
取消密码复杂度
编辑my.cnf配置文件,添加下列内容
plugin-load=validate_password.so
validate-password=OFF
保存退出后,重启服务生效
不使用密码
编辑my.cnf配置文件,添加下列内容
skip-grant-tables=true
忘记密码的情况下修改密码
systemctl stop mysqld #停止mysql服务
skip-grant-tables=1 #在/etc/my.cnf配置文件中添加内容,并重启服务
# 在服务端本地执行 mysql, 通过本地连接数据库
shell> mysql
# 修改用户的密码
mysql> update mysql.user set authentication_string=PASSWORD('123') where user='root' and host='localhost';
// 再次重启服务
shell> systemctl restart mysqld
扩展
第一次安装数据库没有重启服务之前/var/lib/mysql/目录下为空
/var/log/mysqld.log这个文件的属主和属组都必须是mysql
当开启服务报错时,可以去/var/log/messages日志里去查找error
图片.png
报这个错的原因是没有开启mysqld服务,/var/lib/mysql/mysql.sock文件没有被创建,所以就无法进入数据库
/var/lib/mysql/mysql.sock这个文件使用来连接mysql与mysqld服务的,只有当mysqld服务被开启时,这个文件才会被创建
lsof的使用
安装lsof yum -y install lsof
lsof的使用
lsof -i:3306
查看3306端口

可以查看这个端口被那个服务使用,进程号,用户,使用的协议等等信息
没有信息输出说明该端口服务没有开启
lsof 文件
可以查看这个文件有没有被占用,被谁占用,用户是谁等等信息

不使用密码的情况下修改密码
在my.cnf内[mysqld]内加上skip-grant-tables=true
进入数据库,密码信息存放在mysql.user表内

修改密码:
update mysql.user set authentication_string=password('newpassword') where user='username'
关闭免密登录 重启数据库服务 登录数据库即可
网友评论