uos-mysql8.0源代码安装

blog.youkuaiyun.comblog.youkuaiyun.com

Ubuntu Linux系统MySQL8.0源码编译安装笔记

蛙鳜鸡鹳狸猿 2019-06-09 19:56:11  1720  收藏 1
展开
①安装依赖

个人本地操作系统为Ubuntu18.04LTS,编译安装需要以下依赖。

apt install build-essential cmake bison libncurses5-dev libssl-dev pkg-config
详细依赖列表参考https://dev.mysql.com/doc/refman/8.0/en/source-installation.html。如果有其他缺失的依赖,cmake的时候会检查出来,甚至会打印输出具体的apt / yum命令,把命令拷下来执行一下再编译即可。

②下载源码

源码包分为带boost版和不带boost版的,方便起见直接下载带boost的。

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz
tar xzv -f mysql-boost-8.0.16.tar.gz
cd mysql-8.0.16/ ; ls
③编译安装

cmake的完整选项列表参考https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html。

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DFORCE_INSOURCE_BUILD=ON
make && make install
④初始配置

详细参考https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html。

添加mysql用户组和配置文件权属。

groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
初始化安装。

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
这一步会打印输出随机生成的root账号初始密码,找个小本本记下来待会要用这个密码连接登录的。[Server] A temporary password is generated for root@localhost: !YAH0uS%AS>q。

生成ssl(可选)。

/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
新建一个全局用的简单的配置文件。

vim /etc/my.cnf
# 然后写入以下内容 #
[client]
socket = /tmp/mysql.sock
 
[mysqld]
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
⑤开启服务

详细参考https://dev.mysql.com/doc/refman/8.0/en/postinstallation.html。

配置mysqld服务。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
update-rc.d mysqld defaults
service mysqld start
添加PATH。

echo -e '# MySQL PATH\nexport PATH=/usr/local/mysql/bin:$PATH\n' >> /etc/profile
source /etc/profile
连接登录MySQL并修改root账户密码(需要使用第④步生成的密码)。

mysql -uroot -p'!YAH0uS%AS>q'
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1024';
因为本次安装只是个人使用(非生产环境),所以可以额外的将账户密码信息写入配置文件,以后连接就不用再输入了(懒人专用)。然后进入MySQL修改开启root账户可远程连接。

vim /etc/my.cnf
[client]
# 把这几行添加到client选项组下面 #
user = root
password = 1024
port = 3306
root@zoo:/home/zoo/mysql-8.0.16# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.16 Source distribution
 
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> UPDATE `mysql`.`user` SET `Host` = '%' WHERE `User` = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
 
mysql> 
 

 

遇到的问题。

①在源码包目录下编译错误

CMake Error at CMakeLists.txt:301 (MESSAGE):
  Please do not build in-source.  Out-of source builds are highly
  recommended: you can have multiple builds for the same source, and there is
  an easy way to do cleanup, simply remove the build directory (note that
  'make clean' or 'make distclean' does *not* work)
 
  You *can* force in-source build by invoking cmake with
  -DFORCE_INSOURCE_BUILD=1
根据输出信息,安装非常不建议在源码包下面直接编译。如果在其他目录下,对于同一份源码,你可以执行和生成多份cmake builds。并且可以简易地cleanup,即删除build目录即可。这个错误在MySQL5.7和MariaDB的源码编译过程中并不会碰到,应该是新的8.0版本的改进之一了。其用意感觉应该是为了方便系统管理员在一份源码下灵活地安装多份配置各异的MySQL实例。但在本地自己安装用的时候,并不需要考虑这么多,cmake时按照提示添加“ -DFORCE_INSOURCE_BUILD=1 ”选项即可。

②缺失openssl系统依赖

Cannot find appropriate system libraries for WITH_SSL=system.
Make sure you have specified a supported SSL version. 
Valid options are : 
system (use the OS openssl library), 
yes (synonym for system), 
</path/to/custom/openssl/installation>, 
wolfssl (use wolfSSL. See extra/README-wolfssl.txt on how to set this up)
 
CMake Error at cmake/ssl.cmake:68 (MESSAGE):
  Please install the appropriate openssl developer package.
手动安装一下即可“ apt install libssl-dev ”。

③缺失pkg-config依赖。

CMake Warning at cmake/pkg-config.cmake:29 (MESSAGE):
  Cannot find pkg-config.  You need to install the required package:
 
    Debian/Ubuntu:              apt install pkg-config
    RedHat/Fedora/Oracle Linux: yum install pkg-config
    SuSE:                       zypper install pkg-config
 
Call Stack (most recent call first):
  cmake/rpc.cmake:29 (MYSQL_CHECK_PKGCONFIG)
  plugin/group_replication/libmysqlgcs/configure.cmake:57 (MYSQL_CHECK_RPC)
  plugin/group_replication/libmysqlgcs/CMakeLists.txt:28 (INCLUDE)
 
 
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:36 (find_package_handle_standard_args)
  cmake/pkg-config.cmake:36 (FIND_PACKAGE)
  cmake/rpc.cmake:29 (MYSQL_CHECK_PKGCONFIG)
  plugin/group_replication/libmysqlgcs/configure.cmake:57 (MYSQL_CHECK_RPC)
  plugin/group_replication/libmysqlgcs/CMakeLists.txt:28 (INCLUDE)
按照打印输出的提示手动安装一下即可“ apt install pkg-config ”。

 

 

传送门:

Ubuntu Linux系统MariaDB源码编译安装笔记:https://blog.youkuaiyun.com/sweeper_freedoman/article/details/89636543。

Ubuntu Linux系统MySQL5.7版本源码编译安装笔记:https://blog.youkuaiyun.com/sweeper_freedoman/article/details/75268047。

CentOS Linux系统MySQL5.7版本源码编译安装笔记:https://blog.youkuaiyun.com/sweeper_freedoman/article/details/75352004。
————————————————
版权声明:本文为优快云博主「蛙鳜鸡鹳狸猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/sweeper_freedoman/java/article/details/91345114

Ubuntu Linux系统MySQL8.0源码编译安装笔记

蛙鳜鸡鹳狸猿 2019-06-09 19:56:11  1720  收藏 1
展开
①安装依赖

个人本地操作系统为Ubuntu18.04LTS,编译安装需要以下依赖。

apt install build-essential cmake bison libncurses5-dev libssl-dev pkg-config
详细依赖列表参考https://dev.mysql.com/doc/refman/8.0/en/source-installation.html。如果有其他缺失的依赖,cmake的时候会检查出来,甚至会打印输出具体的apt / yum命令,把命令拷下来执行一下再编译即可。

②下载源码

源码包分为带boost版和不带boost版的,方便起见直接下载带boost的。

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz
tar xzv -f mysql-boost-8.0.16.tar.gz
cd mysql-8.0.16/ ; ls
③编译安装

cmake的完整选项列表参考https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html。

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DFORCE_INSOURCE_BUILD=ON
make && make install
④初始配置

详细参考https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html。

添加mysql用户组和配置文件权属。

groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
初始化安装。

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
这一步会打印输出随机生成的root账号初始密码,找个小本本记下来待会要用这个密码连接登录的。[Server] A temporary password is generated for root@localhost: !YAH0uS%AS>q。

生成ssl(可选)。

/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
新建一个全局用的简单的配置文件。

vim /etc/my.cnf
# 然后写入以下内容 #
[client]
socket = /tmp/mysql.sock
 
[mysqld]
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
⑤开启服务

详细参考https://dev.mysql.com/doc/refman/8.0/en/postinstallation.html。

配置mysqld服务。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
update-rc.d mysqld defaults
service mysqld start
添加PATH。

echo -e '# MySQL PATH\nexport PATH=/usr/local/mysql/bin:$PATH\n' >> /etc/profile
source /etc/profile
连接登录MySQL并修改root账户密码(需要使用第④步生成的密码)。

mysql -uroot -p'!YAH0uS%AS>q'
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1024';
因为本次安装只是个人使用(非生产环境),所以可以额外的将账户密码信息写入配置文件,以后连接就不用再输入了(懒人专用)。然后进入MySQL修改开启root账户可远程连接。

vim /etc/my.cnf
[client]
# 把这几行添加到client选项组下面 #
user = root
password = 1024
port = 3306
root@zoo:/home/zoo/mysql-8.0.16# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.16 Source distribution
 
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> UPDATE `mysql`.`user` SET `Host` = '%' WHERE `User` = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
 
mysql> 
 

 

遇到的问题。

①在源码包目录下编译错误

CMake Error at CMakeLists.txt:301 (MESSAGE):
  Please do not build in-source.  Out-of source builds are highly
  recommended: you can have multiple builds for the same source, and there is
  an easy way to do cleanup, simply remove the build directory (note that
  'make clean' or 'make distclean' does *not* work)
 
  You *can* force in-source build by invoking cmake with
  -DFORCE_INSOURCE_BUILD=1
根据输出信息,安装非常不建议在源码包下面直接编译。如果在其他目录下,对于同一份源码,你可以执行和生成多份cmake builds。并且可以简易地cleanup,即删除build目录即可。这个错误在MySQL5.7和MariaDB的源码编译过程中并不会碰到,应该是新的8.0版本的改进之一了。其用意感觉应该是为了方便系统管理员在一份源码下灵活地安装多份配置各异的MySQL实例。但在本地自己安装用的时候,并不需要考虑这么多,cmake时按照提示添加“ -DFORCE_INSOURCE_BUILD=1 ”选项即可。

②缺失openssl系统依赖

Cannot find appropriate system libraries for WITH_SSL=system.
Make sure you have specified a supported SSL version. 
Valid options are : 
system (use the OS openssl library), 
yes (synonym for system), 
</path/to/custom/openssl/installation>, 
wolfssl (use wolfSSL. See extra/README-wolfssl.txt on how to set this up)
 
CMake Error at cmake/ssl.cmake:68 (MESSAGE):
  Please install the appropriate openssl developer package.
手动安装一下即可“ apt install libssl-dev ”。

③缺失pkg-config依赖。

CMake Warning at cmake/pkg-config.cmake:29 (MESSAGE):
  Cannot find pkg-config.  You need to install the required package:
 
    Debian/Ubuntu:              apt install pkg-config
    RedHat/Fedora/Oracle Linux: yum install pkg-config
    SuSE:                       zypper install pkg-config
 
Call Stack (most recent call first):
  cmake/rpc.cmake:29 (MYSQL_CHECK_PKGCONFIG)
  plugin/group_replication/libmysqlgcs/configure.cmake:57 (MYSQL_CHECK_RPC)
  plugin/group_replication/libmysqlgcs/CMakeLists.txt:28 (INCLUDE)
 
 
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:36 (find_package_handle_standard_args)
  cmake/pkg-config.cmake:36 (FIND_PACKAGE)
  cmake/rpc.cmake:29 (MYSQL_CHECK_PKGCONFIG)
  plugin/group_replication/libmysqlgcs/configure.cmake:57 (MYSQL_CHECK_RPC)
  plugin/group_replication/libmysqlgcs/CMakeLists.txt:28 (INCLUDE)
按照打印输出的提示手动安装一下即可“ apt install pkg-config ”。

 

 

传送门:

Ubuntu Linux系统MariaDB源码编译安装笔记:https://blog.youkuaiyun.com/sweeper_freedoman/article/details/89636543。

Ubuntu Linux系统MySQL5.7版本源码编译安装笔记:https://blog.youkuaiyun.com/sweeper_freedoman/article/details/75268047。

CentOS Linux系统MySQL5.7版本源码编译安装笔记:https://blog.youkuaiyun.com/sweeper_freedoman/article/details/75352004。
————————————————
版权声明:本文为优快云博主「蛙鳜鸡鹳狸猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/sweeper_freedoman/java/article/details/91345114

由于未找到统信UOS系统离线安装MySQL 8.0 D2000的具体内容,可参考统信UOS系统安装MySQL 8.0的通用步骤来进行离线安装,以下步骤可能需要根据实际情况调整: ### 准备工作 在离线环境下,需要提前准备好MySQL 8.0 D2000安装包(如`mysql-8.0.D2000-linux-glibc2.xx-x86_64.tar.xz` ),并将其拷贝到统信UOS系统中。 ### 安装步骤 1. **解压安装** ```bash tar -xvf mysql-8.0.D2000-linux-glibc2.xx-x86_64.tar.xz ``` 2. **移动目录** ```bash sudo mv mysql-8.0.D2000-linux-glibc2.xx-x86_64 /usr/local/mysql sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql chmod 777 /usr/local/mysql/* -Rf ``` 3. **初始化MySQL** ```bash sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql ``` 此步骤会生成一个临时密码,需要记录下来。 4. **启动MySQL服务** ```bash sudo /usr/local/mysql/bin/mysqld_safe --user=mysql & ``` 按`Enter`键继续。 5. **登录MySQL** ```bash sudo /usr/local/mysql/bin/mysql -uroot -p ``` 输入之前记录的临时密码登录。 6. **修改数据库密码和外连接设置** ```sql alter user 'root'@'localhost' IDENTIFIED BY '123456'; update mysql.user set host = '%' where user = 'root'; flush privileges; exit; ``` 7. **使用服务名称启动** ```bash sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server sudo systemctl daemon-reload sudo service mysql.server start ``` 8. **添加环境变量** ```bash echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` 若要设置永久环境变量: ```bash sudo vim /etc/profile ``` 在文件末尾添加: ```plaintext export PATH=$PATH:/usr/local/mysql/bin ``` 保存并退出,然后刷新环境变量: ```bash source /etc/profile ``` ### 注意事项 - 上述步骤中使用的一次性环境变量,重启后会消失,可手动改为永久环境变量。 - 安装过程中可能会遇到依赖问题,在离线环境下需要提前准备好相关依赖包进行安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值