MYSQL篇-安装MYSQL

115 阅读2分钟

一、MySQL安装

1、官网安装

下载安装地址:www.mysql.com/downloads/

# 下载mysql
wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装
yum -y install mysql80-community-release-el7-3.noarch.rpm
# 安装server
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-community-server
#启动server
systemctl start  mysqld.service
#检查状态
systemctl status  mysqld.service
#查看临时密码
grep "password" /var/log/mysqld.log

yAbkq)C+/0VJ
#登录MYSQL
mysql -uroot -p
#设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Left@zuo123.';
#这时候我们将密码设置规范修改一下:
set global validate_password.policy=0;
set global validate_password.length=1;
#修改成简易的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootroot';
CYN的密码:CYNCYN@cyncyn.!@#
#创建用户:
CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
#允许远程连接:
GRANT ALL ON *.* TO 'admin'@'%';
#如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password使用命令修改策略
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

登录本地MySQL:

mysql -h localhost-uroot -p
mysql ‐h host[数据库地址] ‐u root[用户]p root[密码]P 3306

修改密码:

 alter user 'root'@'%' identified with mysql_native_password by '123456'; 

2、Docker 安装、brew安装和yum安装

-- docker安装/启动
docker pull mysql

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-- brew安装
brew install mysql
brew services start mysql

--- yum安装
wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server
systemctl status mysqld.service
systemctl start mysqld.service
systemctl status mysqld.service

grep "password" /var/log/mysqld.log
--- 连接mysql 服务
mysql -h localhost -u root -p
//创建新用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
//赋权限,%表示所有(host) 
grant all privileges on *.* to 'username'@'%';
grant all privileges on *.* to 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
//刷新数据库
flush privileges 
//设置用户名密码
update user set password=password("123456") where user=’root’;
//查看当前用户的权限
show grants for root@"%"; 

3、连接报/tmp/mysql.sock

// 错误为:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
// 文章答疑:
https://blog.csdn.net/hjf161105/article/details/78850658

// 原因:
// 连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。
// 如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件

// 1、可以设置软连接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
// 3、简单点直接加上 -h 127.0.0.1 访问 需要有 %权限

4、MySql版本导致的认证方式问题

--- 不是客户端Navicat的原因,是MySQL兼容问题,需要修改数据库的认证方式
--- MySQL8.0版本默认的认证方式是 caching_sha2_password
--- MySql5.8开始将caching_sha2_password作为默认的身份验证插件
--- MySQL5.7版本则为 mysql_native_password。

ALTER USER 'water'@'%' IDENTIFIED WITH mysql_native_password BY '123456';