Merge branch 'pr_1459'
This commit is contained in:
commit
b4369a1c08
@ -10,8 +10,8 @@
|
||||
At present, the guide is composed of the following parts:
|
||||
|
||||
1. **Get started**: Setting up the development environment, build and connect to the OceanBase server, the subsections are based on an imagined newbie user journey.
|
||||
1. Install toolchain
|
||||
2. Get the code, build and run
|
||||
1. [Install toolchain](toolchain.md)
|
||||
2. [Get the code, build and run](build-and-run.md)
|
||||
3. Set up an IDE
|
||||
4. Write and run unit tests
|
||||
5. Debug and profile
|
||||
|
62
docs/build-and-run.md
Normal file
62
docs/build-and-run.md
Normal file
@ -0,0 +1,62 @@
|
||||
# Get the code, build and run
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Check the [Install toolchain](toolchain.md) guide for supported OS, GLIBC version requirement, and how to install the C++ toolchain.
|
||||
|
||||
## Clone
|
||||
|
||||
Clone the source code to your development machine:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/oceanbase/oceanbase.git
|
||||
```
|
||||
|
||||
## Build
|
||||
|
||||
Build OceanBase from the source code in debug mode or release mode:
|
||||
|
||||
### Debug mode
|
||||
|
||||
```shell
|
||||
bash build.sh debug --init --make
|
||||
```
|
||||
|
||||
### Release mode
|
||||
|
||||
```shell
|
||||
bash build.sh release --init --make
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
Now that you built the `observer` binary, you can deploy a OceanBase instance with the `obd.sh` utility:
|
||||
|
||||
```shell
|
||||
./tools/deploy/obd.sh prepare -p /tmp/obtest
|
||||
./tools/deploy/obd.sh deploy -c ./tools/deploy/single.yaml
|
||||
```
|
||||
|
||||
This starts the OceanBase server listening on port 10000.
|
||||
|
||||
## Connect
|
||||
|
||||
You can use the official MySQL client to connect to OceanBase:
|
||||
|
||||
```shell
|
||||
mysql -uroot -h127.0.0.1 -P10000
|
||||
```
|
||||
|
||||
Alternatively, you can use the `obclient` to connect to OceanBase:
|
||||
|
||||
```shell
|
||||
./deps/3rd/u01/obclient/bin/obclient -h127.0.0.1 -P10000 -uroot -Doceanbase -A
|
||||
```
|
||||
|
||||
## Shutdown
|
||||
|
||||
You can run the following command to shut down the server and clean up the deployment, which prevents disk consuming:
|
||||
|
||||
```shell
|
||||
./tools/deploy/obd.sh destroy --rm -n single
|
||||
```
|
59
docs/toolchain.md
Normal file
59
docs/toolchain.md
Normal file
@ -0,0 +1,59 @@
|
||||
# Install toolchain
|
||||
|
||||
To build OceanBase from source code, you need to install the C++ toolchain in your development environment first. If the C++ toolchain is not installed yet, you can follow the instructions in this document for installation.
|
||||
|
||||
## Supported OS
|
||||
|
||||
OceanBase makes strong assumption on the underlying operator systems. Not all the operator systems are supported; especially, Windows and Mac OS X are not supported yet.
|
||||
|
||||
Below is the OS compatiblity list:
|
||||
|
||||
| OS | Version | Arch | Compilable | Package Deployable | Compiled Binary Deployable | MYSQLTEST Passed |
|
||||
| ------------------- | --------------------- | ------ | ---------- | ------------------ | -------------------------- | ---------------- |
|
||||
| Alibaba Cloud Linux | 2.1903 | x86_64 | Yes | Yes | Yes | Yes |
|
||||
| CentOS | 7.2 / 8.3 | x86_64 | Yes | Yes | Yes | Yes |
|
||||
| Debian | 9.8 / 10.9 | x86_84 | Yes | Yes | Yes | Yes |
|
||||
| Fedora | 33 | x86_84 | Yes | Yes | Yes | Yes |
|
||||
| openSUSE | 15.2 | x86_84 | Yes | Yes | Yes | Yes |
|
||||
| OpenAnolis | 8.2 | x86_84 | Yes | Yes | Yes | Yes |
|
||||
| StreamOS | 3.4.8 | x86_84 | Unknown | Yes | Yes | Unknown |
|
||||
| SUSE | 15.2 | x86_84 | Yes | Yes | Yes | Yes |
|
||||
| Ubuntu | 16.04 / 18.04 / 20.04 | x86_84 | Yes | Yes | Yes | Yes |
|
||||
|
||||
> **Note**:
|
||||
>
|
||||
> Other Linux distributions _may_ work. If you verify that OceanBase can compile and deploy on a distribution except ones listed above, feel free to submit a pull request to add it.
|
||||
|
||||
## Supported GLIBC
|
||||
|
||||
OceanBase and its dependencies dynamically link to The GNU C Library (GLIBC). And the version of GLIBC share library is restrict to be less than or equal to 2.34.
|
||||
|
||||
See [ISSUE-1337](https://github.com/oceanbase/oceanbase/issues/1337) for more details.
|
||||
|
||||
## Installation
|
||||
|
||||
The installation instructions vary among the operator systems and package managers you develop with. Below are the instructions for some popular environments:
|
||||
|
||||
### Fedora based
|
||||
|
||||
This includes CentOS, Fedora, OpenAnolis, RedHat, UOS, etc.
|
||||
|
||||
```shell
|
||||
yum install git wget rpm* cpio make glibc-devel glibc-headers binutils m4 libtool libaio
|
||||
```
|
||||
|
||||
### Debian based
|
||||
|
||||
This includes Debian, Ubuntu, etc.
|
||||
|
||||
```shell
|
||||
apt-get install git wget rpm rpm2cpio cpio make build-essential binutils m4
|
||||
```
|
||||
|
||||
### SUSE based
|
||||
|
||||
This includes SUSE, openSUSE, etc.
|
||||
|
||||
```shell
|
||||
zypper install git wget rpm cpio make glibc-devel binutils m4
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user