一、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';