1.asdf安装多数据库多版本的步骤(Ubuntu)

1.安装asdf

安装asdf参考asdf安装多语言多版本的步骤(Ubuntu)对应的章节。

2.安装asdf插件

2.1安装asdf-mysql插件

//安装依赖
sudo apt update
sudo apt install curl libaio1 libtinfo5 libncurses5 numactl

//安装asdf-mysql插件
asdf plugin add mysql https://github.com/iroddis/asdf-mysql.git

//升级asdf-mysql插件
asdf plugin list --refs
asdf plugin update mysql

2.2安装asdf-postgres插件

//安装依赖
sudo apt update
sudo apt-get install linux-headers-$(uname -r) build-essential libssl-dev libreadline-dev zlib1g-dev libcurl4-openssl-dev uuid-dev icu-devtools

//安装asdf-postgres插件
asdf plugin add postgres https://github.com/smashedtoatoms/asdf-postgres.git

//升级asdf-postgres插件
asdf plugin list --refs
asdf plugin update postgres

3.安装数据库

3.1安装MySQL数据库

//查看远程服务器可供安装的MySQL数据库的以版本筛选条件开头的所有版本。
asdf list all mysql 8

//安装MySQL(非源码编译)
//注意:会同时安装libmysqlclient-dev,无需另外安装。
asdf install mysql 8.0.33

//配置MySQL数据库全局所使用的版本为8.0.33版本。
asdf global mysql 8.0.33
//在MySQL Server安装目录下创建data目录并在data目录下创建默认数据库。创建一个具有空密码的超级管理员root用户。
mysqld --initialize-insecure

//安全地启动MySQL
mysqld_safe

//配置超级管理员root用户的密码为root
mysqladmin -u root password root
//查看版本
mysql --version

3.2安装PostgreSQL数据库

//查看远程服务器可供安装的PostgreSQL数据库的以版本筛选条件开头的所有版本。
asdf list all postgres 16

//安装PostgreSQL(源码编译)
//注意:会同时安装libpq-dev,无需另外安装。
asdf install postgres 16.0

//配置PostgreSQL数据库全局所使用的版本为16.0版本。
asdf global postgres 16.0
//启动PostgreSQL
pg_ctl start

//超级管理员postgres用户的初始密码为空。
//配置超级管理员postgres用户的密码为postgres。
ho@ho-Inspiron-N3010:~$ psql -U postgres

postgres=# \password
Enter new password for user "postgres": postgres
Enter it again: postgres

postgres=# \q
//查看版本
psql --version

4.添加数据库到systemd服务

4.1添加MySQL数据库到systemd服务

//切换目录
cd /usr/lib/systemd/system

//创建MySQL数据库服务配置文件
sudo touch mysqld.service

//更改MySQL数据库服务配置文件的权限
sudo chmod 644 mysqld.service
//使用Vim打开mysqld.service文件
sudo vim mysqld.service

复制粘贴以下内容到 mysqld.service 文件(升级MySQL数据库后无需重新配置)。

注意:复制粘贴之前,[Service] 下的 UserGroupExecStart 需要更改为自己的参数。

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=ho
Group=ho

# Have mysqld write its state to the systemd notify socket
Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Start main service
ExecStart=/home/ho/.asdf/shims/mysqld_safe --defaults-file=/etc/mysql/my.cnf $MYSQLD_OPTS

# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false

按键盘左上角的 ESC 按钮,并在 Vim 中输入 :wq,最后按下 Enter 确认即可。

//创建/etc/systemd/system/multi-user.target.wants/mysqld.service符号链接指向/usr/lib/systemd/system/mysqld.service以使MySQL数据库开机自动启动。
systemctl enable mysqld.service
//systemd命令
systemctl {start|stop|restart|status} mysqld

//service通用命令
service mysqld {start|stop|restart|status}

4.2添加PostgreSQL数据库到systemd服务

//切换目录
cd /usr/lib/systemd/system

//创建PostgreSQL数据库服务配置文件
sudo touch postgresql.service

//更改PostgreSQL数据库服务配置文件的权限
sudo chmod 644 postgresql.service
//使用Vim打开postgresql.service文件
sudo vim postgresql.service

复制粘贴以下内容到 postgresql.service 文件(升级PostgreSQL数据库后无需重新配置)。

注意:复制粘贴之前,[Service] 下的 UserExecStart 需要更改为自己的参数。

[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
User=ho
ExecStart=/home/ho/.asdf/shims/postgres
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target

按键盘左上角的 ESC 按钮,并在 Vim 中输入 :wq,最后按下 Enter 确认即可。

//创建/etc/systemd/system/multi-user.target.wants/postgresql.service符号链接指向/usr/lib/systemd/system/postgresql.service以使PostgresSQL数据库开机自动启动。
systemctl enable postgresql.service
//systemd命令
systemctl {start|stop|restart|status} postgresql

//service通用命令
service postgresql {start|stop|restart|status}

5..tool-versions文件

.tool-versions文件参考asdf安装多语言多版本的步骤(Ubuntu)对应的章节。

6.目录结构

asdf目录结构参考asdf安装多语言多版本的步骤(Ubuntu)对应的章节。

MySQL目录查询命令
MySQL版本安装目录~/.asdf/installs/mysql/<version>asdf where mysql
my.cnf配置文件/etc/mysql/my.cnf—————
data目录~/.asdf/installs/mysql/<version>/data—————
PostgreSQL目录查询命令
PostgreSQL版本安装目录~/.asdf/installs/postgres/<version>asdf where postgres
postgresql.conf配置文件~/.asdf/installs/postgres/<version>/data/postgresql.conf—————
data目录~/.asdf/installs/postgres/<version>/data—————

7.asdf命令

asdf命令参考asdf安装多语言多版本的步骤(Ubuntu)对应的章节。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/sql/sqlenv/31056.html

(0)
上一篇 2023年8月10日
下一篇 2023年9月2日

相关推荐

发表回复

登录后才能评论