linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)

前言

之前写过一篇mac os上装mysql的: brew 安装mysql (Mac OS),
也写过 Linux下操作数据库 (redis和neo4j)

结果中午发现腾讯云自带没有mysql, 就写一篇记录一下吧。
本实验使用到的是centos 7.6的64 bit操作系统。



下载与安装

之所以是用5.7不是用8.x使用8 是因为担心以后开发和一些库不太兼容(孩子遇到了不少坑哭)
先去官网mysql 5.7逛逛, 由于我是centos, 所以上图那么选
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第1张图片
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第2张图片
复制一下下载链接

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar

由于使用了下载时重定向到mysql的cdn, 所以下载还挺快的,几m/s。

解压一下

tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar 
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第3张图片

可以发现多了一些文件
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第4张图片


再装之前,先看看有没有存在mysql包和mariadb包

rpm -qa|grep mysql
rpm -qa|grep mariadb

若有的话先删除, xx指刚刚上一个命令输出了啥就是啥。打个比方,例如 mysql-libs-5.1.73-1.el6.x86_64和mariadb-libs-5.5.56-2.el7.x86_64,具体版本号可能不同。

rpm -e --nodeps 【xx】



然后分别执行一下四条命令

rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm



初始化

mysqld --initialize --user=mysql

看一下密码

cat /var/log/mysqld.log | tail -n 10
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第5张图片



开启一下mysql服务器

systemctl start mysqld.service



看一下mysql服务器状态

systemctl status mysqld
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第6张图片

首次连接, 然后输入我们刚刚查看的临时密码,例如我刚刚是npDtg28_8ZQc

mysql -u root -p



连接上之后我们向展示一下有哪些数据库,报错了

show databases;
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第7张图片

意思是叫我们改密码, 为了简单起见我这里就改为 root123, 修改之后再查询,发现没问题了。

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

linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第8张图片

我们先退出

exit



常规sql简单操作

连接, 提示输入密码,这里就输入我们上一节更改的密码 root123

mysql -u root -p

新建一个数据库

create database news;

查看一下有哪些数据库
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第9张图片


选择一下我们新建的数据库(这一步每一次连接mysql都要, 用多了就知道了,没有选定它会提示你的)

use news;



查看有哪些数据表, 由于没有新建哪些表,因此会提示 Empty set (0.00 sec)

show tables;

我们新建一个数据表

create table words (word_id int, content varchar(128), year int, primary key(word_id))DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.03 sec)

再插入一条数据

insert into words(word_id, content, year) values (1, 'people', 2014);

Query OK, 1 row affected (0.01 sec)


查看一下数据表tables中的东西

select * from words;
linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第10张图片

好了,关于其他sql语句就不再细讲了,有兴趣的大家可以看看 mysql 教程_菜鸟教程 或者自己网上搜一搜。



mysql开启与关闭

Linux

最后来讲讲mysql 开启与关闭的问题
开启

systemctl start mysqld.service

查看开启状态

systemctl status mysqld

查看一下3306端口

lsof -i:3306


关闭mysql

systemctl stop mysqld.service



mac

我用的是Big Sur, 若权限不够,下列命令可加sudo

  1. 打开mysql服务
mysql.server start

  1. 查看状态
mysql.server status


  1. 关闭数据库
mysql.server stop

  1. 修改密码
    记得选定mysql数据库下运行以下命令,将root用户密码改为root123
alter USER root@localhost IDENTIFIED BY 'root123';



可视化操作客户端

Jetbrain

大伙可以装一下community 的pycharm 或 IDEA, 有个连接的插件,非常方便做数据库的可视化操作工具,还能查看输出,复制sql命令(对于有保留sql脚本的同学来说简直不要太方便)

看了一下,这篇博客有说,这里我就不赘述了 Pycharm中安装数据库可视化插件
注意一下新版的插件安装位置在刚进来的位置就好。

记得要在腾讯云(或阿里云等)官网开启端口3306。
然后还要让mysql允许远程连接。我们先要在终端中连接到云服务器,然后使用 "本地连接"的方式

mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';

记得退出mysql前要强制更新一下权限:

flush privileges;

Query OK, 0 rows affected (0.00 sec)


然后就可以用pycharm(或其他JetBrain软件)的Database Navigator插件直接远程连接 云服务器上的数据库了。

比如我这里news数据库下有四个表

linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐)_第11张图片



vscode

vscode里也有mysql的插件,优点是结合remote deveploment (我另一篇博客有介绍git 入门, 见【使用vscode为工具远程连接(ssh)】这一章节)这个插件之后之后,连接服务器只需要本地端口,不需要暴露一个端口给数据库(在生产环境下不安全)。缺点是个人感觉sql操作速度有点慢。



参考博客

  • Linux安装MySQL5.7
  • MySQL 5.7 for Linux安装与配置(超详细)

你可能感兴趣的:(后端开发,mysql,linux)