220920_Manjaro上安装MySQL
19年的大三冬季初学数据库时,在matebook win10上安装了微软的SQL Server。之后20年疫情宅家时,跟着一本小册子SQL必知必会(这本书的MySQL安装内容太旧了)还有网上教程,在老ideapad win7上安装了MySQL,但并不一定是最佳的安装方式,书上和网上教程并不完美适配,有冲突的地方。当时记得是在win7 cmd里运行sql命令,看得是真难受。当时也没有安装MySQL Workbench这样的图形界面工具。不过当时安装了mysql倒是在后来的夏季学期に役立った,不用再次安装了,就pip install个django的mysql,让django连上本地的mysql就好了。然后用了navicat的30天免费试用,撑过了夏季学期。
一些闲言碎语
读wikipedia上MySQL及び其作者Michael Widenius的词条,获得的一些豆知識
起初以为mysql的my是“我的”的意思,其实Its name is a combination of “My”, the name of co-founder Michael Widenius ‘s daughter My, and “SQL”, the abbreviation for Structured Query Language .原来是name after作者女儿的名字。そして,Widenius has three children – My, Max, and Maria – who inspired the names for MySQL , MaxDB and the MySQL-Max distribution, and MariaDB .他还用另外两个子女的名字来命名其他数据库。
MariaDB就是MySQL被Oracle收购后的一个开源复刻,与MySQL高度兼容。甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
聊聊作者Michael Widenius吧。芬兰人,Helsinki University of Technolog辍学(说来另一个赫尔辛基的狠人就是linus)。33岁时开始写mysql,1年后发布。
之后mysql被Sun收购,然后又被Oracle收购。
安装MySQL及初始化
查看软件仓库MySQL版本
1 | pacman -Si mysql |
安装MySQL
1 | sudo pacman -S mysql |
确认安装成功&mysql版本
1 | mysql --version |
or
1 | mysqladmin --version |
初始化MySQL
第一次使用前先初始化
安装mysql后的输出信息已经说了要这样初始化
1 | sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql |
==执行后会产生一个临时password==
error了,试试加上sudo
OK,刚才应该是权限不够操作/var/lib里的文件。sudo rm -rf mysql
把刚才失败的文件夹删掉。加上sudo初始化后成功了。
用户名:root@localhost
临时口令:S4ypiYr8gt.S
启动MySQL服务
1 | systemctl start mysqld |
启动mysql服务后,secure installation
1 | mysql_secure_installation |
事实上我把这步放在修改完root口令后再执行
输入了新的root口令
这个好像会按照密码强度,设置密码,要8位以上。那就不弄了。
查看MySQL运行状态
1 | systemctl status mysqld |
修改root用户的password
initialize时生成了一个临时的口令,现在修改口令,就改为和linux的登录口令一样好了
mysql -u root -p
,输入initialize时的临时口令,进入mysql
修改root口令
1 | mysql> alter user 'root'@'localhost' identified by '新密码'; |
然后退出,再用新口令登录mysql试试
1 | mysql> exit; |
1 | mysql -u root -p |
输入新口令,成功登入
よし、到这里就算安装与初始化结束了
卸载MySQL
1 | sudo pacman -Rsn mysql |
注:-s参数删除没有被其他已安装软件包使用的依赖 -n参数删除相应的配置文件
然后删除/var/lib/mysql目录
1 | sudo rm -rf /var/lib/mysql |
MySQL简单使用
1.启动MySQL
若没有设置开机自动启动mysql服务,那么当要使用mysql时需手动启动服务 systemctl start mysqld
关掉mysql服务:systemctl stop mysqld
以减少内存占用
mysql服务没开启时,就没法连接mysql数据库
ちなみに、mariadb数据库的相关命令是:
1 | systemctl start mariadb #启动MariaDB |
2.登录MySQL
当MySQL服务已经运行时, 我们可以通过MySQL自带的客户端工具登录到MySQL数据库中, 打开命令行, 输入以下格式的命名:
1 | mysql -h 主机名 -u 用户名 -p |
参数说明:
- -h: 指定客户端所要登录的MySQL主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略
- -u: 登录的用户名
- -p: 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项
如果我们要登录本机的MySQL数据库,只需要输入以下命令即可:
1 | mysql -u root -p |
3.管理MySQL的命令
注意: MySQL的SQL语句以分号 (;) 作为结束标识 大小写構いません
下面列举一些常用命令:
show databases;
列出MySQL数据库管理系统的数据库列表
mysqlDBMS中最初是这4个数据库
use 数据库名;
在连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以需要选择要操作的数据库
use
选择要操作的数据库,使用该命令后所有SQL命令都只针对该数据库
1 | mysql> use RUNOOB; |
show tables;
显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库
show columns from 表名;
显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息
跟着菜鸟教程试了试增删改查语句,查询的语句select from where在终端中敲,输出会对不齐,不如在可视化界面里操作。
安装与使用MySQL Workbench
MySQL Workbench是专门面向mysql的可视化数据库管理工具,就是个DBMS的gui。也是甲骨文公司旗下的产品,属于mysql套件中的一部分。
安装mysql-workbench
1 | sudo pacman -S mysql-workbench |
启动程序可以终端敲mysql-workbench
进入程序后默认的连接一般是Local instance 3306。如果要自己新建一个连接的话,本地端口好像也是3306。
输入root口令后连接mysql
这个窗口从Adminisration调到Schemas,可以看到目前在mysql中的数据库。しかし、内置的4个数据库中只有sys显示了出来。RUNOOB是跟着菜鸟教程做的。
在图形界面里SQL命令不加;也能跑,终端是一定要有;的
https://blog.csdn.net/qq_40468936/article/details/114964412
https://zhuanlan.zhihu.com/p/422931126
230429更新 nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server
尝试nodejs连接mysql数据库
1 | npm install mysql |
建了一个db.js文件
1 | var mysql = require("mysql") |
然后node db.js
运行,报错‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’
网上查到两个解决方法的帖子
https://blog.csdn.net/airdark_long/article/details/82588064
Try change the password as below:
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password'; |
再びnode db.js
,输出成功
参考资料
MySQL Workbench Tutorial 11min左右讲了个通过右击table来自动生成sql语句
How to Use VS Code to Run SQL on a Database 用SQLToolsという插件
MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南
How to install MySQL Workbench on Manjaro Linux 后半有详细的怎么使用workbench
- Title: 220920_Manjaro上安装MySQL
- Author: Haoliang Tang
- Created at : 2022-09-20 00:00:00
- Updated at : 2023-11-02 20:09:19
- Link: https://hl-tang.github.io/2022/09/20/220920_Manjaro上安装MySQL/
- License: This work is licensed under CC BY-NC-SA 4.0.