进入mysql的中国官网 MySQL,下来至底部,看到如下页面:
在下载栏中找到 MySQL Community Server, 点击进入下载合适的版本。这里选用已经编译好的最新 Linux 通用版本 9.0.1,(可能随着时间推移,mysql 最新版本会发生改变, 选择 mysql-version-linux-glibc2.28-x86_64.tar.xz 类型的命令即可),点击第一个 Download进行安装。
点击No thanks, just start my download.
等待下载完成 Linux 的 ubuntu 发行版默认会将从浏览器下载的文件包放入 ~/Download/ 文件夹中,进入root用户权限下一次进行以下操作。
创建用于运行 mysql 服务的用户
>$: groupadd mysql
>$: useradd -r -g mysql -s /bin/false mysql
解压 mysql 二进制安装包
>$: cd /usr/local
>$: tar xvf ~/Download/mysql-VERSION-OS.tar.xz
>$: ln -s full-path-to-mysql-VERSION-OS mysql
进入 mysql 创建 mysql-files
>$: cd mysql
>$: mkdir mysql-files
>$: chown mysql:mysql mysql-files
>$: chmod 750 mysql-files
创建一个 mysql 相关设置的文件放入 /usr/local/mysql/etc/my.cnf 中,关于 mysqld 的设置以 [mysqld] 开头,关于 mysql 的设置以 [mysql] 开头,
>$: vim /usr/local/mysql/etc/my.cnf
my.cnf:
[mysqld]
user=mysql
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/log/error.log
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
my.cnf 目前的配置的仅是最基本的选项,懂得为配置的高级选项的人不需要看该教程,而不懂的人仅仅配置这些选项就已经能够满足需求了。在进行配置之前,还有一个重要步骤,需要进行:配置安装 libaio,在ubuntu22.04 发行版中,apt-get install 无法直接安装 libaio,需要进入到 github 自行下载安装包进行编译安装,步骤如下:
网站链接:https://github.com/anlongfei/libaio
点击 Download ZIP,然后进入 ~/Download 目录中,因为文件中已经有 Makefile 编译规则文件,所以直接编译安装即可
>$: cd ~/Download
>$: unzip libaio-master
>$: cd libaio-master
>$: make && sudo make install
完成上述步骤后,即可进行 mysql 的初始化操作了,进入 mysql 的目录利用配置文件配置相关属性
>$: cd /usr/local/mysql/bin/mysqld
>$: mysqld --defaults-file=/usr/local/mmysql/etc/my.cnf
--initialize
>$: echo $?
如果终端是返回的是 0 ,则说明 mysql 初始化成功,进入 error.log 查看临时用户的密码:
>$: cat /usr/local/mysql/log/error.log
error.log:
A temporary password is generated for root@localhost: **********
密码一般是 12 位乱序 ASCII 码字符串。到此为止,mysql 已经成功安装至服务器中,接下来的步骤是为将 mysql 添加进入系统服务。
为 MySQL 配置系统服务 systemd,创建 mysqld.service.d 目录
>$: mkdir mysqld.service.d
>$: cd /etc/systemd/system/mysqld.service.d
>$: vim override.conf
override.conf:
[Service]
LimitNOFILE=max_open_files
Nice=nice_level
LimitCore=core_file_limit
Environment="LD_PRELOAD=/path/to/malloc/library"
Environment="TZ=time_zone_setting"
然后编辑 mysql 服务
>$: systemctl edit mysql
每一次创建或者更改 override.conf 文件时候,都需要重新加载 systemd 配置服务,然后重启系统服务
>$: systemctl daemon-reload
>$: systemctl restart mysql
>$: systemctl enable mysql
查看 mysql 服务运行状态
>$: systemctl status mysql
如果终端出现以下内容,则说明 mysql 配置系统服务成功
进入 mysql 命令行操作界面
>$: mysql -uroot -p
出现上述界面证明 Linux 的 mysql 二进制安装基本完成,其中 Enter password 的密码储存在 /usr/local/mysql/log/error.log 中,不要自己输入,复制粘贴操作即可进入。
安装成功后第一次进入 mysql 首先要做的就是修改密码。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
其中 root-password 是应该自己设置的密码。密码修改完成以后执行以下语句
mysql> show databases;
出现以下画面证明 mysql 安装完成。
上述四个是基本的 Database 数据库,千万别乱删除,我也不知道有什么用。以下是 mysql 的常用命令,记住就行:
show databases; // 列出数据库
create database database_name; // 创建数据库
use database_name; // 选择数据库
show tables; // 列出数据表
select * from table_name; // 显示数据表所有内容
desc table_name; // 查看数据表结构
select table_name from information_schema.tables where table_schema = 'database_name'; // 显示数据表特定字段
drop database database_name; // 删除数据库
drop tables table_name; // 删除数据表
以上是经常使用的数据库命令,但目前大部分对数据表的操作都已经被 ORM 所替代。ORM(Object-Relation Mapping)是一种编程技术,用于面向对象编程语言中实现对象与关系数据库之间的映射。提供简洁的 API 来执行数据库操作。例如,通过调用一个方法就可以实现插入一条记录、查询满足特定条件的记录等操作。减少了对 SQL 语句的直接编写,降低了出错的可能性,同时提高了开发效率。