MySQL安装到mac还是linux_Linux,Mac下MySQL的安装及一些知识点的整理

导读

正文

Linux下载安装

在服务器上下载的话,需要安装MysqL5.7相关的yum源

wget https://dev.MysqL.com/get/MysqL80-community-release-el7-3.noarch.rpm

安装刚下载的rpm包

rpm -ivh MysqL80-community-release-el7-3.noarch.rpm

确保yum源中生效的是我们刚刚添加进来的5.7版本

yum repolist all | grep

结果如下图, 很显然,我默认生效的依赖是MysqL8.0 , 所以需要修改配置

85a2c007f14e30ffff9cde44175deebf.png

命令:

vim /etc/yum.repos.d/MysqL-community.repo

修改成这样:

87b7f7e0b86a2ff12dec27d3b2cb4121.png

ok,开始安装

yum -y install MysqL-community-server

启动服务:

# centos6

service MysqL stop/start

# centos6 7

systemctl stop/start/restart MysqLd.service

其他零散的知识点

在华为云上按上面的安装步骤,可以通过 whereis my 查看到

[root@139 ~]# whereis my

my: /etc/my.cnf

这个my.cnf中有MysqL进程相关的配置,比如刚才安装的MysqL的my.cnf就长下面这样。

[MysqLd]

datadir=/var/lib/MysqL

socket=/var/lib/MysqL/MysqL.sock

symbolic-links=0

log-error=/var/log/MysqLd.log

pid-file=/var/run/MysqLd/MysqLd.pid

有时候我们想配置让MysqL支持无密登陆。

或者像上面那样我们刚安装了一台MysqL,也不知道root的密码是多少,可以像下面这样,在my.cnf中的 [MysqLd] 模块中添加 skip-grant-tables 参数实现无密登陆

[MysqLd]

datadir=/var/lib/MysqL

socket=/var/lib/MysqL/MysqL.sock

symbolic-links=0

log-error=/var/log/MysqLd.log

pid-file=/var/run/MysqLd/MysqLd.pid

skip-grant-tables

还是上面的情况,假设机器依然是centos7,我们安装完MysqL后偏偏想用root账户密码登陆MysqL,那root的默认密码在哪里查看呢?

grep 'temporary password' /var/log/MysqLd.log

这个密码很难记,然后我们可以像下面这样修改密码

alter user 'root'@'localhost' identified by ‘newPassword’;

如果我们设置的newPassword太简单了,它会像下面这样提示我们密码不够强大

Your password does not satisfy the current policy requirements

于是我们就得使用下面的命令修改规则

set global validate_password_policy=LOW;

重启,重复上面的操作。

于是你就能本机轻松使用root登陆了

如果MysqL不是在你的本机,而是在远程服务器,你会发现有时明明账号密码都正确,但是你就是不能远程登陆上去。很可能是因为我们使用的这个账号就不允许远程登陆。

MysqL的用户信息存放在 MysqL/user表下;如下图,查看这个表中的部分内容。

下图中的host如果为localhsot,说名root账户仅能在本地登陆。

我的已经改成 % ,支持本地登陆和远程登陆。

2c899e9e16b64216bbe223bb07d29a68.png

通过命令修改:

# 1. 连接数据库

MysqL> use MysqL;

MysqL> update user set host = '%' where user = 'root';

DataGrip想连接MysqL,需要下载相应的驱动,如下图:

69c00bb8f9c7e2b0281fc3ca7f95661a.png

374301f9f28274e38fefea30666483c3.png

Mac下安装

如果你的电脑mac,可以参考这个大佬的笔记安装MysqL:点击查看详情

上面的大佬中的笔记有如需要说一下的地方:

7cd0263bc23384302a8f427161fe3295.png

知道这一点,下次再安装完MysqL后,然后直接打开控制台输入MysqL -V却发现,咦?怎么说不认识这个命令? 难道是我没安装成功吗?(纯洁的微笑)

当然你按照上面大佬博文中的教程将MysqL安装到mac上后。然后使用如下命令启动MysqL:

sudo MysqL.server start

简单粗暴的通过 ps aux | grep MysqL找到MysqL的进程id,然后 kill -9 pid强杀

也可以通过上面的脚本 sudo MysqL.server stop终止MysqL

然而root的密码你还是不知道。貌似你还是登陆不上去啊?

那你可以这样做:在上面配置的support-file文件中添加启动参数skip-grant-tables

0b24ebd05135466e517b455f72aef275.png

然后你就能免密登陆了(免密登陆,它让你输入密码,你直接敲回车就能进去,然后你要做的第一件事就是去改密码)

刷新一下权限表:新设置用户或更改密码后需用flush privileges刷新MysqL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动MysqL服务器,来使新设置生效。­

flush privileges

执行命令修改root密码:

alter user 'root'@'localhost' identified by 'root';

查询my.cnf中定义的端口:

>select @@port;

+--------+

| @@port |

+--------+

| 3306 |

+--------+

再说一个小技巧:可以帮助我们快速查看到MysqL都使用了哪些配置文件。

ps aux | grep MysqL

如下:(当然这是在MysqL已经启动的情况下)

MacBook-Pro:~ root# ps aux | grep MysqL

root 39669 0.0 0.0 4285448 808 s005 S+ 7:32PM 0:00.00 grep MysqL

_MysqL 39097 0.0 0.6 4689984 47620 s005 S 7:16PM 0:00.58 /usr/local/MysqL/bin/MysqLd

--basedir=/usr/local/MysqL

--datadir=/usr/local/MysqL/data

--plugin-dir=/usr/local/MysqL/lib/plugin

--user=MysqL

--skip-grant-tables

--log-error=MacBook-Pro.local.err

--pid-file=/usr/local/MysqL/data/MysqLd.local.pid

root 38998 0.0 0.0 4288076 936 s005 S 7:16PM 0:00.03 /bin/sh /usr/local/MysqL/bin/MysqLd_safe

--skip-grant-tables

--datadir=/usr/local/MysqL/data

--pid-file=/usr/local/MysqL/data/MysqLd.local.pid

相关

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值