MySQL安装、使用教程

免费
下载安装参考地址:https://dev.mysql.com/downloads/mysql/

官网下载

1、地址:https://dev.mysql.com/downloads/mysql/
Community版本:免费
商业版:收费
在这里插入图片描述

在这里插入图片描述

2、下载.dmg格式的文件

安装

1、下载后解压,一路点击“下一步”
2、安装完后有个密码 oByfelptC7.K (不同电脑和这个不一样,这个要记住,后面要用到),这是电脑安装MySQL后自动生成的用户密码。
在这里插入图片描述

安装后的配置

1、开启MySQL服务
(1)系统偏好设置,点“MySQL”,“允许开机后自动运行MySQL”打钩
2、设置环境变量
(1)系统设置中,关闭mysql(stop mysql server)
(2)查看:/usr/local/mysql/bin,此处有 mysql 文件。
(3) terminal操作
vim ~/.bash_profile,最后面添加export PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile // 使得环境变量可以立即生效
3、登陆MySQL
(1)terminal操作
mysql -uroot -p,输入密码,(此次操作是上面记住的 oByfelptC7.K )
4、修改密码(20210116:mysql8.0.2在安装的时候就设置了密码,这一步就无效了)
(1)terminal操作
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newPassword'); // // newPassword 是新密码

常用命令

一、退出mysql
方式1:exit
方式2:quit
二、命令输入错误,退出mysql
输入分号; 退出到mysql
三、强制退出到mysql
command + c
四、强制推出的到终端
command + d

报错

一、运行mysql -uroot -p
报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
原因:系统myql未打开,需要start一下
在这里插入图片描述
二、creat tabel建表时报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘summary varchar(300) default null comment ‘文章简介’,
content text default’ at line 5
原因:sql语句有问题,少了一个,
在这里插入图片描述
三、查看是否已经安装mysql:yum list installed | grep mysql时报错:Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
解决:yum clean all
四、跳过依赖,强制安装mysql,执行:rpm -Uvh mysql80-community-release-fc31-1.noarch.rpm --force --nodeps,报错,error: unpacking of archive failed: cpio: Bad magic
1、原因:安装的程序版本与机器系统版本不符
2、解决:
(1)查看系统版本
cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
在这里插入图片描述
(2)网上搜了一下,合适的版本是:mysql80-community-release-el7-3.noarch.rpm
五、设置用户可以在本地访问,执行grant all privileges on . to root@“localhost” identified by ‘自己密码’;,报错
1、原因:这条语句适用于mysqlv8.0之前
2、解决(v8.0):
create user root@’%’ identified by ‘123456’;
grant all privileges on . to root@’%’ with grant option;
六、使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin ‘caching_sha2_password’ cannot be loaded的错误
在这里插入图片描述
1、原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
2、解决
(1)一种是升级navicat驱动
(2)一种是把mysql用户登录密码加密规则还原成mysql_native_password.
① mysql -u root -p , 输入密码
② 修改账户密码加密规则并更新用户密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
③ 刷新权限并重置密码
FLUSH PRIVILEGES;
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘密码’;

服务器下载安装mysql

以v8.0为例
一、创建文件夹mysql
cd mysql
二、查看是否已经安装mysql
yum list installed | grep mysql
1、如果已经安装需卸载
yum -y remove mysql-libs.x86_64
三、下载安装包
wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
四、安装
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
1、
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm --force --nodeps
五、安装mysql
yum install mysql-server
在这里插入图片描述

六、安装完成后,启动mysql服务
systemctl start mysqld
七、查看是否启动成功
systemctl status mysqld.service
在这里插入图片描述

设置

一、密码设置
1、查询root密码
grep “password” /var/log/mysqld.log
在这里插入图片描述
2、登录root账号
mysql -u root -p
3、设置密码不限制字符类型(mysqlv8.0,不同于v5.7)
set global validate_password.policy=0;
4、设置密码不限制位数(mysqlv8.0,不同于v5.7)
set global validate_password.length=1;
5、修改root密码
alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘自己密码’;
alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456aA’;
6、设置root账号密码不过期
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
7、刷新权限
flush privileges;
二、设置权限:root可以在本地被访问
在这里插入图片描述

1、用户root可以在本地被访问(v8.0)
create user root@’%’ identified by ‘自己密码’;
grant all privileges on . to root@’%’ with grant option;
2、刷新权限
flush privileges;
三、设置权限:给用户设置某数据库权限
1、创建数据库
CREATE DATABASE IF NOT EXISTS test(数据库名) DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2、进入数据库
use test(数据库名);
3、创建用户
CREATE USER ‘aaa’@’%’ IDENTIFIED BY ‘aA123456’;
4、授权(aaa用过客户访问test数据库,%表示ip地址不限制)
grant all privileges on test(数据库名).* to “aaa”@’%’;
grant all privileges on test.* to “aaa”@’%’;
5、给账户赋权限
use mysql;
update user set user.Host=’%’ where user.User=‘aaa’;

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在 localhost 的那台电脑,登入MySQL后,更改 “MySQL” 数据库里的 “user” 表里的 “Host” 项,从“localhost”改称“%”,%表示所有机器都允许。

use mysql
select host,user from user where user=‘root’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值