Linux(8~)
Mysql安装及连接
本次开始学习数据库服务mysql
在centos7里面安装mysql还是比较麻烦的,centos默认安装的是mariadb(读:吗锐而DB),在mysql被Oracle收购前是没有mariadb数据库的,收购后mysql的创始人又创建了一个开源的mariadb
将mariadb移除就不讲这个数据库,重点讲mysql
输入命令:yum search mysql确实可以找到maridb数据库,将其删除
删除
下载mysql源
打开:https://dev.mysql.com/downloads/repo/yum/
安装源(将源放入系统里面来)
下面就可以使用安装命令进行安装,安装之前先查询一下 命令:yum search mysql
安装
安装过程会比较慢一点,因为这个软件会比较大。当我们的服务安装好了后,首先要确定服务是否启动起来了 命令:ps -ef | grep mysql
当mysql服务启动起来了就可以对mysql服务进行链接。mysql在安装的时候会自动帮我们设置一个密码,所以
命令:cat /var/log/mysqld.log | grep password查看密码
现在就可以与mysql服务进行通讯了,上面命令行第二行提示通过这种方式进行连接密码是不安全的。版本是8.0.17
远程链接
我们的服务是安装在服务器上,我们如何在本地连接我们的数据库服务呢?这就需要远程链接打开,关于防护墙的设置需要打开,本身mysql服务的远程链接也要打开
操作mysql基本命令
命令:show databases;
修改密码为:#gUakT=wi8tt
退出:exit 再连接:mysql -uroot -p#gUakT=wi8tt
这个命令我怎么知道连接的是哪台主机呢?其实默认的是mysql -h127.0.0.1 -uroot -p#gUakT=wi8tt
如果要想连接其他主机只需换掉-h即可
下面通过Navicat去连接虚拟机里面的数据库命令:ifconfig看到ip为:192.168.1.8
连接发现不能连接是因为虚拟机没有开启远程连接的方法
mysql -h127.0.0.1 -uroot -p#gUakT=wi8tt
show databases; 然后使用mysql库
use mysql; 然后看里面有哪些表
show tables; 然后使用user表,对其中的user表进行授权
然后再用Navicat连接,此时发现仍然不能连接。这里面有一个权限策略,所以要刷新权限
--------------------------------------后续参考命令----------------------------
修改密码为:123456
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; //不成功,在改为%后执行上面一条
------------------------------------------------------
到此为止,远程连接就完了
开启genelog
genelog会记录对数据库的所有增删改查的sql语句,这样我们好去查找问题,比喻查询语句对不对。
首先:mysql -uroot -p123456 进入数据库命令行终端里面来
打开genelog日志放的位置:set global general_log_file="/tmp/general.log"; //设置全局genelog文件在哪个位置
设置全局genelog模式:set global general_log = on;
现在重开一个终端用root账号登录,然后进入general.log这个记录sql语句的文件
现在到imoo账号,输入sql语句,测试语句是否会被记录到general.log文件中
mysql命令行新建用户
找回mysql密码