在Linux下源碼編譯安裝GreatSQL/MySQL

2022-01-06 老葉茶館

本文首發於 GreatSQL社區 微信公眾號。

原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。0、提綱

1、準備工作

1.1、配置yum源

1.2、安裝docker

1.3、提前下載幾個必要的安裝包

1.4、構建docker鏡像

2、編譯GreatSQL

2.1、只編譯二進位文件

2.2、編譯並打包成二進位文件包或RPM包

3、初始化GreatSQL

4、搭建MGR集群

延伸閱讀

本次介紹如何利用Docker來將GreatSQL源碼編譯成二進位文件,以及製作二進位包、RPM包等。

本文介紹的運行環境是CentOS 7.9:

[root@greatsql ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@greatsql ~]# uname -a
Linux greatsql 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

1、準備工作1.1、配置yum源

開始編譯之前,建議先配置好yum源,方便安裝一些工具。

以阿里、騰訊兩大雲主機為例,可以這樣配置(兩個yum源自行二選一):

[root@greatsql ~]# mv /etc/yum.repos.d/CentOS-Base.repo{,.orig}

#阿里雲
[root@greatsql ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#騰訊雲
[root@greatsql ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

#替換完後,更新緩存
[root@greatsql ~]# yum clean all
[root@greatsql ~]# yum makecache

1.2、安裝docker

安裝docker,並啟動docker進程。

[root@greatsql]# yum install -y docker
[root@greatsql]# systemctl start docker

1.3、提前下載幾個必要的安裝包

分別下載幾個編譯過程中需要的依賴包:

boost, https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gzgit, https://github.com/git/git/archive/v2.27.0.tar.gz, 下載後重命名為 git-v2.27.0.tar.gzpatchelf, https://github.com/NixOS/patchelf/archive/refs/tags/0.12.tar.gz, 下載後重命名為 patchelf-0.12.tar.gzrpcsvc-proto, https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz

下載GreatSQL源碼包:https://gitee.com/GreatSQL/GreatSQL/archive/greatsql-8.0.25-15.tar.gz

1.4、構建docker鏡像

用下面這份Dockerfile構建鏡像,這裡以CentOS 7為例:

FROM centos:7
ENV LANG en_US.utf8

RUN yum install -y epel-release && \
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo && \
yum clean all && \
yum makecache
RUN yum install -y yum-utils && \
yum install -y wget diffutils net-tools vim git gcc gcc-c++ automake libtool cmake cmake3 \
make psmisc openssl-devel zlib-devel readline-devel bzip2-devel expat-devel gflags-devel \
bison bison-devel flex wget unzip libcurl-devel libevent-devel libffi-devel lz4-devel lz4-static \
file clang bzip2 snappy-devel libxml2-devel libtirpc libtirpc-devel numactl-devel numactl-libs \
numactl gtest-devel openldap-devel openldap-clients rpcgen pam-devel valgrind boost-devel rpm* tar \
centos-release-scl libzstd libzstd-static libzstd-devel perl-Env perl-JSON time libaio-devel \
ncurses-devel ncurses-libs pam python-devel redhat-lsb-core scl-utils-build pkg-config ccache

RUN yum install -y devtoolset-10-gcc*
RUN echo 'scl enable devtoolset-10 bash' >> /root/.bash_profile

# update git
COPY git-v2.27.0.tar.gz /tmp/
RUN cd /tmp/ && tar -xzvf git-v2.27.0.tar.gz && cd git-2.27.0 && make prefix=/opt/git/ all && make prefix=/opt/git/ install
RUN mv /usr/bin/git /usr/bin/git.bk && ln -s /opt/git/bin/git /usr/bin/git

# update patchelf 0.12
COPY patchelf-0.12.tar.gz /tmp/
RUN cd /tmp && tar -xzvf patchelf-0.12.tar.gz && cd patchelf && ./bootstrap.sh && ./configure && make && make install

COPY rpcsvc-proto-1.4.tar.gz /tmp/rpcsvc-proto-1.4.tar.gz
RUN tar zxvf /tmp/rpcsvc-proto-1.4.tar.gz -C /tmp && cd /tmp/rpcsvc-proto-1.4/ && ./configure && make && make install

RUN rm -fr /tmp/*

COPY boost_1_73_0.tar.gz /opt/

RUN ln -fs /usr/bin/cmake3 /usr/bin/cmake

開始構建docker鏡像,成功後再保存到本地並導入本地鏡像:

[root@greatsql ~]# docker build -t centos7-greatsql .
... ...
[root@greatsql ~]# docker save -o centos7-greatsql.tar centos7-greatsql
[root@greatsql ~]# docker load -i centos7-greatsql.tar

創建一個docker容器,並將GreatSQL源碼包copy進去:

[root@greatsql ~]# docker run -itd --name greatsql --hostname=greatsql centos7-greatsql bash
[root@greatsql ~]# docker cp /opt/greatsql-8.0.25-15.tar.gz greatsql:/opt/
[root@greatsql ~]# docker exec -it greatsql bash
[root@greatsql /]# ls -l /opt/
-rw-- 1 root root 128699082 Jul 27 06:56 boost_1_73_0.tar.gz
drwxr-xr-x 5 root root      4096 Jul 28 06:38 git
-rw-- 1 1000 1000 526639994 Jul 27 05:59 greatsql-8.0.25-15.tar.gz
drwxr-xr-x 3 root root      4096 Jul 28 06:34 rh

2、編譯GreatSQL

進入容器後,解壓GreatSQL和boost源碼包:

[root@greatsql /]# tar zxf /opt/greatsql-8.0.25-15.tar.gz -C /opt
[root@greatsql /]# tar zxf /opt/boost_1_73_0.tar.gz -C /opt/greatsql-8.0.25-15/

2.1、只編譯二進位文件

如果只是想在本機使用,則可以只編譯出二進位文件即可,無需打包或製作RPM包。用下面的命令進行編譯:

[root@greatsql /]# cmake3 /opt/greatsql-8.0.25-15 \
-DBUILD_TESTING=OFF -DUSE_GTAGS=OFF -DUSE_CTAGS=OFF \
-DUSE_ETAGS=OFF \-DUSE_CSCOPE=OFF -DWITH_TOKUDB=OFF \
-DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DFEATURE_SET=community \
-DCMAKE_INSTALL_PREFIX=/usr/local/GreatSQL-8.0.25-15-Linux \
-DMYSQL_DATADIR=/usr/local/GreatSQL-8.0.25-15-Linux/data \
-DROUTER_INSTALL_LIBDIR=/usr/local/GreatSQL-8.0.25-15-Linux/lib/mysqlrouter/private \
-DROUTER_INSTALL_PLUGINDIR=/usr/local/GreatSQL-8.0.25-15-Linux/lib/mysqlrouter/plugin \
-DCOMPILATION_COMMENT='GreatSQL (GPL), Release 15, Revision e36e91b7242' \
-DWITH_PAM=ON -DWITH_ROCKSDB=ON -DROCKSDB_DISABLE_AVX2=1 -DROCKSDB_DISABLE_MARCH_NATIVE=1 \
-DWITH_INNODB_MEMCACHED=ON -DWITH_ZLIB=bundled -DWITH_NUMA=ON -DWITH_LDAP=system \
-DFORCE_INSOURCE_BUILD=1 -DWITH_LIBEVENT=bundled -DWITH_ZSTD=bundled \
-DWITH_BOOST=/opt/greatsql-8.0.25-15/boost_1_73_0

cmake過程如果沒報錯,就會輸出類似下面的結果:

... ...
-- Build files have been written to: /opt/greatsql-8.0.25-15

接下來可以開始正式編譯了:

[root@greatsql ~]# make -j30 VERBOSE=1 && make install

參數 -j30 設定為並行編譯的邏輯CPU數量,可以指定為比邏輯CPU總數少一點,不要把所有CPU都跑滿。

編譯完成後,就會將二進位文件安裝到 /usr/local/GreatSQL-8.0.25-15-Linux.x86_64 目錄下。

2.2、編譯並打包成二進位文件包或RPM包

如果是想要在編譯完後也能拷貝到其他伺服器上使用,也可以直接編譯生成二進位包或RPM包,可以用下面的命令編譯:

[root@greatsql ~]# cd /opt/greatsql-8.0.25-15/build-gs/
[root@greatsql ~]# export your_processors=30   #同上,修改並行CPU數量
[root@greatsql ~]# export TAR_PROCESSORS=-T$your_processors
[root@greatsql ~]# export MAKE_JFLAG=-j$your_processors
[root@greatsql ~]# mkdir -p workdir
[root@greatsql ~]# cp /opt/boost_1_73_0.tar.gz /opt/greatsql-8.0.25-15/build-gs/
[root@greatsql ~]# cp /opt/greatsql-8.0.25-15.tar.gz /opt/greatsql-8.0.25-15/build-gs/workdir/

# 選擇1:編譯並打包成二進位包
[root@greatsql ~]# bash -xe ./percona-server-8.0_builder.sh --builddir=`pwd`/workdir --get_sources=0 --install_deps=0 --with_ssl=1 --build_tarball=1 --build_src_rpm=0 --build_rpm=0 --no_git_info=1 --local_boost=1

# 選擇2:編譯並打包成RPM包
[root@greatsql ~]# bash -xe ./percona-server-8.0_builder.sh --builddir=`pwd`/workdir --get_sources=0 --install_deps=0 --with_ssl=1 --build_tarball=0 --build_src_rpm=1 --build_rpm=1 --no_git_info=1 --local_boost=1

編譯過程中如果遇到類似下面的patchelf報錯:

+ patchelf --replace-needed libreadline.so.7 libreadline.so bin/mysql
patchelf: cannot normalize PT_NOTE segment: non-contiguous SHT_NOTE sections

可以參考這個patch:patchelf: Fix alignment issues with contiguous note sections #275,修改下源碼,在容器裡重新手動編譯patchelf。

編譯結束後,就會在 /opt/greatsql-8.0.25-15/build-gs/workdir/ 目錄下生成相應的二進位包、RPM包:

[root@greatsql build-gs]# du -sh workdir/TARGET/
40M     workdir/TARGET/GreatSQL-8.0.25-15-Linux-glibc2.17-x86_64-minimal.tar.xz
500M    workdir/TARGET/GreatSQL-8.0.25-15-Linux-glibc2.17-x86_64.tar.xz

[root@greatsql build-gs]# du -sh workdir/rpm/greatsql-*
14M     workdir/rpm/greatsql-client-8.0.25-15.1.el8.x86_64.rpm
30M     workdir/rpm/greatsql-client-debuginfo-8.0.25-15.1.el8.x86_64.rpm
3.4M    workdir/rpm/greatsql-debuginfo-8.0.25-15.1.el8.x86_64.rpm
23M     workdir/rpm/greatsql-debugsource-8.0.25-15.1.el8.x86_64.rpm
2.1M    workdir/rpm/greatsql-devel-8.0.25-15.1.el8.x86_64.rpm
4.6M    workdir/rpm/greatsql-mysql-router-8.0.25-15.1.el8.x86_64.rpm
27M     workdir/rpm/greatsql-mysql-router-debuginfo-8.0.25-15.1.el8.x86_64.rpm
13M     workdir/rpm/greatsql-rocksdb-8.0.25-15.1.el8.x86_64.rpm
204M    workdir/rpm/greatsql-rocksdb-debuginfo-8.0.25-15.1.el8.x86_64.rpm
60M     workdir/rpm/greatsql-server-8.0.25-15.1.el8.x86_64.rpm
343M    workdir/rpm/greatsql-server-debuginfo-8.0.25-15.1.el8.x86_64.rpm
1.4M    workdir/rpm/greatsql-shared-8.0.25-15.1.el8.x86_64.rpm
2.5M    workdir/rpm/greatsql-shared-debuginfo-8.0.25-15.1.el8.x86_64.rpm
440M    workdir/rpm/greatsql-test-8.0.25-15.1.el8.x86_64.rpm
18M     workdir/rpm/greatsql-test-debuginfo-8.0.25-15.1.el8.x86_64.rpm

這就可以用在copy到其他伺服器上安裝使用了。

3、初始化GreatSQL

本次計劃在下面3臺伺服器上部署MGR集群:

nodeipdatadirportrolenodeA172.16.16.10/data/GreatSQL/3306PRIMARYnodeB172.16.16.11/data/GreatSQL/3306SECONDARYnodeC172.16.16.12/data/GreatSQL/3306SECONDARY

先在nodeA伺服器上執行下面的初始化工作,另外兩個伺服器也照做一遍即可。

首先編輯 /etc/my.cnf 配置文件,可參考採用下面的配置參數:

#my.cnf
[mysqld]
user = mysql
port = 3306
#主從複製或MGR集群中,server_id記得要不同
#另外,實例啟動時會生成 auto.cnf,裡面的 server_uuid 值也要不同
#server_uuid的值還可以自己手動指定,只要符合uuid的格式標準就可以
server_id = 3306
basedir=/usr/local/GreatSQL-8.0.25-15-Linux.x86_64
datadir = /data/GreatSQL
socket = /data/GreatSQL/mysql.sock
pid-file = mysql.pid
character-set-server = UTF8MB4
skip_name_resolve = 1
#若你的MySQL資料庫主要運行在境外,請務必根據實際情況調整本參數
default_time_zone = "+8:00"

#performance setttings
lock_wait_timeout = 3600
open_files_limit    = 65535
back_log = 1024
max_connections = 512
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
thread_stack = 512K
sort_buffer_size = 4M
join_buffer_size = 4M
read_buffer_size = 8M
read_rnd_buffer_size = 4M
bulk_insert_buffer_size = 64M
thread_cache_size = 768
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 32M
max_heap_table_size = 32M

#log settings
log_timestamps = SYSTEM
log_error = /data/GreatSQL/error.log
log_error_verbosity = 3
slow_query_log = 1
log_slow_extra = 1
slow_query_log_file = /data/GreatSQL/slow.log
long_query_time = 0.1
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 60
min_examined_row_limit = 100
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_bin = /data/GreatSQL/binlog
binlog_format = ROW
sync_binlog = 1
binlog_cache_size = 4M
max_binlog_cache_size = 2G
max_binlog_size = 1G
binlog_rows_query_log_events = 1
binlog_expire_logs_seconds = 604800
#MySQL 8.0.22前,想啟用MGR的話,需要設置binlog_checksum=NONE才行
binlog_checksum = CRC32
gtid_mode = ON
enforce_gtid_consistency = TRUE

#myisam settings
key_buffer_size = 32M
myisam_sort_buffer_size = 128M

#replication settings
master_info_repository = TABLE
relay_log_info_repository = TABLE
relay_log_recovery = 1
slave_parallel_type = LOGICAL_CLOCK
#可以設置為邏輯CPU數量的2倍
slave_parallel_workers = 64
binlog_transaction_dependency_tracking = WRITESET
slave_preserve_commit_order = 1
slave_checkpoint_period = 2

#mgr settings
loose-plugin_load_add = 'mysql_clone.so'
loose-plugin_load_add = 'group_replication.so'
loose-group_replication_group_name = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1"
#MGR本地節點IP:PORT,請自行替換
loose-group_replication_local_address = "172.16.16.10:33061"
#MGR集群所有節點IP:PORT,請自行替換
loose-group_replication_group_seeds = "172.16.16.10:33061,172.16.16.11:33061,172.16.16.12:33061"
loose-group_replication_start_on_boot = OFF
loose-group_replication_bootstrap_group = OFF
loose-group_replication_exit_state_action = READ_ONLY
loose-group_replication_flow_control_mode = "DISABLED"
loose-group_replication_single_primary_mode = ON

#innodb settings
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 64G
innodb_buffer_pool_instances = 8
innodb_data_file_path = ibdata1:12M:autoextend
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 32M
innodb_log_file_size = 2G
innodb_log_files_in_group = 3
innodb_max_undo_log_size = 4G
# 根據您的伺服器IOPS能力適當調整
# 一般配普通SSD盤的話,可以調整到 10000 - 20000
# 配置高端PCIe SSD卡的話,則可以調整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_open_files = 65535
innodb_flush_method = O_DIRECT
innodb_lru_scan_depth = 4000
innodb_lock_wait_timeout = 10
innodb_rollback_on_timeout = 1
innodb_print_all_deadlocks = 1
innodb_online_alter_log_max_size = 4G
innodb_print_ddl_logs = 1
innodb_status_file = 1
#注意: 開啟 innodb_status_output & innodb_status_output_locks 後, 可能會導致log_error文件增長較快
innodb_status_output = 0
innodb_status_output_locks = 1
innodb_sort_buffer_size = 67108864

#innodb monitor settings
innodb_monitor_enable = "module_innodb"
innodb_monitor_enable = "module_server"
innodb_monitor_enable = "module_dml"
innodb_monitor_enable = "module_ddl"
innodb_monitor_enable = "module_trx"
innodb_monitor_enable = "module_os"
innodb_monitor_enable = "module_purge"
innodb_monitor_enable = "module_log"
innodb_monitor_enable = "module_lock"
innodb_monitor_enable = "module_buffer"
innodb_monitor_enable = "module_index"
innodb_monitor_enable = "module_ibuf_system"
innodb_monitor_enable = "module_buffer_page"
innodb_monitor_enable = "module_adaptive_hash"

#pfs settings
performance_schema = 1
#performance_schema_instrument = '%memory%=on'
performance_schema_instrument = '%lock%=on'

執行下面的命令進行初始化:

[root@greatsql ~]# /usr/local/GreatSQL-8.0.25-15-Linux.x86_64/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure

初始化時可選項有 --initialize 和 --initialize-insecure 兩種,前者會為root帳號生成一個隨機密碼,後者不會。在這裡為了省事,選用後者,生產環境裡請務必要為root用戶設置安全密碼

之後就可以啟動mysqld進程了:

[root@greatsql ~]# /usr/local/GreatSQL-8.0.25-15-Linux.x86_64/bin/mysqld --defaults-file=/etc/my.cnf &

GreatSQL是基於Percona Server的分支版本,默認情況下需要用到jemalloc這個庫,如果啟動過程中報告類似下面的錯誤,只需要再安裝jemalloc或者libaio等相關的軟體包即可:

/usr/local/GreatSQL-8.0.25-15/bin/mysqld: error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory

補充安裝libjemalloc庫即可:

[root@greatsql ~]# yum install -y jemalloc jemalloc-devel

如果想要關閉mysqld進程,執行下面的命令即可:

# 假設此時root還是空密碼
[root@greatsql ~]# /usr/local/GreatSQL-8.0.25-15-Linux.x86_64/bin/mysql -uroot -S/data/GreatSQL/mysql.sock shutdown

查看版本號:

root@GreatSQL [(none)]> \s
...
Server version:  8.0.25-15 GreatSQL, Release 15, Revision 80bbf22abbd
...

這就啟動GreatSQL服務了,接下來同樣的方法,完成另外兩個伺服器上的GreatSQL初始化並啟動,然後開始構建MGR集群。

另外,也可以參考這篇指南"將GreatSQL添加到系統systemd服務",把GreatSQL加入系統systemd服務中。

4、搭建MGR集群

MGR集群的部署可以自己手動一步步操作,也可通過MySQL Shell快速完成,分別參考下面的文檔即可:

延伸閱讀

Enjoy GreatSQL :)

文章推薦:

掃碼加入GreatSQL/MGR交流QQ群



點擊文末「閱讀原文」直達老葉專欄

相關焦點

  • 在Linux伺服器上安裝MySQL
    (文字不能做外部的超連結,噁心心)https://learnsql.com/blog/sql-or-sequel/開始啦!最直接的方式--包管理器(yum,apt,etc.)最簡單直接的安裝方式是使用包管理器安裝,比如CentOS上的yum,Ubuntu上的apt等等。
  • CentOS-AltArch-7(ARM版)下源碼編譯MySQL5.7.31
    /contrib/download_prerequisites#下載isl、gmp、mpc、mpfr的依賴包上傳至該目錄下cat /proc/cpuinfo| grep "processor"| wc -l #查看當前CPU核心數,make編譯時「-j」參數可利用多核CPU加快編譯速度
  • Linux系統下安裝MySQL的步驟詳解
    如下是我工作中的記錄,介紹的是linux系統下使用官方編譯好的二進位文件進行安裝MySql的安裝過程和安裝截屏,這種安裝方式速度快,安裝步驟簡單! 需要的朋友可以按照如下步驟進行安裝,可以快速安裝MySql,希望可以幫助大家:)! 1、下載mysql的linux版本的二進位安裝包: 地址:http://dev.mysql.com/download...
  • Linux編譯安裝PaddlePaddle
    ://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz(谷歌有關),故而使用者需要保證電腦可以科學上網。GPU版本的PaddlePaddle,執行命令如下:mkdir build && cd build# 編譯GPU版本的PaddlePaddlecmake ..
  • 如何在Linux系統安裝Apollo
    安裝Apollo軟體,需要提前準備環境:JDK1.8,mysql5.7安裝資料庫:參照- Linux系統安裝mysql資料庫.docx文件即可,安裝JDK1.8(1)將jdk-8u211-linux-x64.tar.gz文件拷貝到相關目錄,執行解壓命令:tar –zxf jdk-8u211-linux-x64.tar.gz(2)配置環境變量:vim /etc/profile編輯如下內容:
  • 工具 | 常用 MySQL 內核 Debug 技巧
    閱讀本文你將了解:| 一、準備 Debug 環境首先用源碼編譯安裝一個用來調試的 MySQL 環境。回顯包含了 debug 字樣,則編譯的是 debug 版本。Debug 示例安裝好 Debug 環境後,我們用以下兩個例子,來簡單演示使用思路及技巧。
  • Linux中如何安裝MySQL,步驟如下
    1、將mysql安裝包從物理機拖到linux裡創建的task文件中,對mysql進行解壓,查看解壓後的效果2、進入到root下,檢查當前伺服器是否已經安裝有mysql,先卸載mysql(為了不與要安裝的版本發生衝突,就要先卸載之前的版本)
  • Linux下快捷方式命令ln是怎麼使用的?
    一般情況下,我們的安裝包會帶著很長的名字,在操作起來可能會比較麻煩,這時候創建一個短名字的軟連結就很有必要,像mysql-5.7.16-linux-glibc2.5-x86_64是不是很長,操作起來很麻煩。
  • day06-python資料庫-mysql之安裝
    資料庫分兩大類:mysql下載安裝Linux版本二進位rpm包安裝yum -y install mysql-server mysql源碼包安裝mysql 1 1.解壓tar包 2 cd /software 3 tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz 4 mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21 5 6 2.添加用戶與組 7 groupadd mysql 8 useradd
  • MySQL教程之MySQL定時備份資料庫
    p123456 -A > /data/mysqlDump/mydb.sql2.備份全部資料庫的結構(加 -d 參數)mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql3.備份全部資料庫的數據(加 -t 參數
  • 樹莓派搭建安裝MySQL
    真的是非常小,只有巴掌大,給樹莓派買了一些配件,外殼、小風扇、2片散熱片、32G SD卡、HDMI線,組裝之後的效果。安裝之前可以先更新下本機軟體sudo apt-get update然後就是等待了。等待完之後要準備安裝mysql了,命令直接安裝:sudo apt-get install mysql-server然後就是等待,在安裝的過程中會提示你讓你輸入mysql的root密碼,會提示兩次。輸入完成之後就會安裝成功了。
  • 摘要:前面講到Red Hat Linux系統下mysql資料庫的安裝方法,下面...
    前面講到Red Hat Linux系統下mysql資料庫的安裝方法,下面介紹如何遠程訪問mysql資料庫。user表中記錄了不同的用戶對mysql資料庫的訪問權限如果我們要遠程訪問mysql資料庫的話,需要對user表中的記錄做相應修改 mysql> update  user  set host=』%』 where user=』root』 and host=』localhost.localdomain』 ;注意:上面一句中%的意思就是容許任何機器從遠程訪問mysql資料庫
  • Linux下MySQL的一些基本使用方法
    資料庫安裝好後,我們應該為mysql資料庫創建一個管理帳號。]# /opt/mysql/bin/mysqladmin -u root password 123456    [root@linuxsir01 root]# 通過上面的命令,我們可以知道,mysql資料庫的管理員是root,密碼是123456。
  • 怎樣在 Ubuntu Linux 上安裝 MySQL | Linux 中國
    方法 1、從 Ubuntu 倉庫安裝 MySQL首先,輸入下列命令確保你的倉庫已經被更新:現在,安裝 MySQL 5.7,簡單輸入下列命令:sudo apt install mysql-server -y就是這樣!簡單且高效。
  • 靜態/動態編譯在apache+php+mysql的應用
    系統和所需軟體:Redhat9.0apache:1.3.27和2.0.46php:4.3.2mysql:4.0.131.首先來安裝mysql,這不是我們的重點,所以關於mysql的安裝配置我就很快過去了tarzvxfmysql-4.0.13.tar.gzcdmysql-4.0.13.
  • MySQL sql_mode 說明(及處理一起 sql_mode 引發的問題)
    無獨有偶,在 stackoverflow上找到同樣的問題 how-to-make-sql-mode-no-engine-substitution-permanent-in-mysql-my-cnf ,原因很簡單,sql_mode這個選項被其它地方的配置覆蓋了。
  • MySQL - mysqldump常用命令 - linux運維菜
    ,不備份數據mysqldump -uroot -ppassword -A -d > database.sql3、只備份資料庫,不備份表結構mysqldump -uroot -ppassword -A -t > data.sql
  • Mysql專欄 - Linux底層交互和Raid存儲架構
    這一節比較特殊,講述的是和Linux有關的交互原理,因為多數的mysql都是部署在linux的伺服器上面,本節會簡單介紹一下linux是如何處理mysql的請求的,以及linux系統會帶來哪些問題概述介紹mysql的隨機讀寫和順序讀寫,那一部分是隨機讀寫,那一部分是順序讀寫linux的系統分層邏輯結構,以及和mysql系統的交互步驟。
  • Ubuntu 安裝 Mysql(附Frp 內網穿透)
    二、安裝Mysqlhttps://dev.mysql.com/downloads/repo/apt/點擊Download2、安裝Mysql APT 配置包dpkg -i mysql-apt-config_0.8.17-1_all.deb
  • |sql|mysql|數據源|java|...
    資料庫驅動  加載MySql的驅動類 :  Class.forName(  "com.mysql.jdbc.Driver"  );  我們安裝好資料庫之後,我們的應用程式也是不能直接使用資料庫的,必須要通過相應的資料庫驅動程序,通過驅動程序去和資料庫打交道。