之前写过一篇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, 所以上图那么选
复制一下下载链接
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
再装之前,先看看有没有存在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
开启一下mysql服务器
systemctl start mysqld.service
看一下mysql服务器状态
systemctl status mysqld
首次连接, 然后输入我们刚刚查看的临时密码,例如我刚刚是npDtg28_8ZQc
mysql -u root -p
连接上之后我们向展示一下有哪些数据库,报错了
show databases;
意思是叫我们改密码, 为了简单起见我这里就改为 root123, 修改之后再查询,发现没问题了。
alter user 'root'@'localhost' identified by 'root123';
我们先退出
exit
连接, 提示输入密码,这里就输入我们上一节更改的密码 root123
mysql -u root -p
新建一个数据库
create database news;
选择一下我们新建的数据库(这一步每一次连接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;
好了,关于其他sql语句就不再细讲了,有兴趣的大家可以看看 mysql 教程_菜鸟教程 或者自己网上搜一搜。
最后来讲讲mysql 开启与关闭的问题
开启
systemctl start mysqld.service
查看开启状态
systemctl status mysqld
查看一下3306端口
lsof -i:3306
关闭mysql
systemctl stop mysqld.service
我用的是Big Sur, 若权限不够,下列命令可加sudo
mysql.server start
mysql.server status
mysql.server stop
alter USER root@localhost IDENTIFIED BY 'root123';
大伙可以装一下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数据库下有四个表
vscode里也有mysql的插件,优点是结合remote deveploment (我另一篇博客有介绍git 入门, 见【使用vscode为工具远程连接(ssh)】这一章节)这个插件之后之后,连接服务器只需要本地端口,不需要暴露一个端口给数据库(在生产环境下不安全)。缺点是个人感觉sql操作速度有点慢。