在服务器上下载的话,须要安装Mysql5.7相关的yum源html
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装刚下载的rpm包mysql
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
确保yum源中生效的是咱们刚刚添加进来的5.7版本linux
yum repolist all | grep
结果以下图, 很显然,我默认生效的依赖是mysql8.0 , 因此须要修改配置sql
命令:数据库
vim /etc/yum.repos.d/mysql-community.repo
修改为这样:vim
ok, 开始安装centos
yum -y install mysql-community-server
启动服务:bash
# 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就长下面这样。socket
[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帐户仅能在本地登录。
个人已经改为 % ,支持本地登录和远程登录。
经过命令修改:
# 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