Linux,Mac下MySQL的安装及一些知识点的整理
在服务器上下载的话 需要安装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 mysql
结果如下图 很显然 我默认生效的依赖是mysql8.0 所以需要修改配置
命令
vim /etc/yum.repos.d/mysql-community.repo
修改成这样
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账户仅能在本地登陆。
我的已经改成 % 支持本地登陆和远程登陆。
拓展知识 mysql.user 中的Host列不同值的含义 https://www.cnblogs.com/liuhaidon/archive/2019/09/12/11511129.html
通过命令修改
# 1. 连接数据库 mysql use mysql; mysql update user set host % where user root
DataGrip想连接mysql, 需要下载相应的驱动, 如下图:
如果你的电脑mac 可以参考这个大佬的笔记安装mysql 点击查看详情
上面的大佬中的笔记有如需要说一下的地方
知道这一点 下次再安装完mysql后 然后直接打开控制台输入mysql -V却发现 咦 怎么说不认识这个命令 难道是我没安装成功吗 纯洁的微笑
当然你按照上面大佬博文中的教程将mysql安装到mac上后。然后使用如下命令启动mysql:
sudo mysql.server start
如何关闭mysql
简单粗暴的通过 ps aux | grep mysql找到mysql的进程id 然后 kill -9 pid强杀也可以通过上面的脚本 sudo mysql.server stop终止mysql
然而root的密码你还是不知道。貌似你还是登陆不上去啊
那你可以这样做 在上面配置的support-file文件中添加启动参数skip-grant-tables
然后你就能免密登陆了(免密登陆 它让你输入密码 你直接敲回车就能进去 然后你要做的第一件事就是去改密码)
刷新一下权限表 新设置用户或更改密码后需用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
Linux常用知识点与问题解答 安装gnome后自动进入桌面模式 如果需要打开命令行,可以直接打开终端或者直接按 ctrl+alt+F1切换至命令行,然后按ctrl+alt+F2切换图形化界面(前提是已经安装)
linux shell编程相关知识点 什么叫shell脚本? 把完成一个任务的所有命令,按照先后顺序,自上而下写在一个文本文件里,给予执行权限去执行。
相关文章
- linux下mysql基本命令
- Linux下修改Mysql密码的三种方式
- Linux下安装JDK,Tomcat,Mysql详细教程
- linux 安装软件之----------CentOS6.5安装与配置Mysql数据库
- Linux系统下安装MySQL的步骤详解
- 检查linux是否安装java、tomcat、mysql
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
- Linux下查看nginx、mysql、php的安装路径和编译参数
- Linux下Mysql安装(tar安装)
- [数据库/Linux]CentOS7安装MySQL Percona版(RPM方式)
- [数据库]Ubuntu Linux/Kylin: 安装MySQL
- Linux-shell脚本-mysql一键安装
- MySQL Linux压缩版安装方法
- Linux+Redis实战教程_Linux上安装jdk,mysql,tomcat_安装jdk
- 在Linux上安装jdk,mysql,tomcat的准备工作
- linux 下备份MySQL数据库 并删除7天前的备份数据
- linux安装jdk、MySQL、nginx、redis
- Linux下修改Mysql的用户(root)的密码
- Linux MySQL 5.1源码安装
- 学习Mysql过程中拓展的其他技术栈:设置linux虚拟机的固定ip和克隆linux虚拟机
- Mysql 的卸载之路 与Linux安装mysql的曲折
- linux mysql 安装(rpm)
- linux ubuntu 安装 mysql
- linux下如何实现mysql数据库每天自动备份定时备份
- Linux(Centos7)离线安装mysql
- Linux(CentOS)中常用软件安装,使用及异常——MySQL, VmTools