通过源码包方式实现MySQL-8.0 安装具体步骤
admin
2023-04-20 11:22:49
0次

本篇文章给大家主要讲的是关于通过源码包方式实现MySQL-8.0 安装具体步骤的内容,感兴趣的话就一起来看看这篇文章吧,相信看完通过源码包方式实现MySQL-8.0 安装具体步骤对大家多少有点参考价值吧。

1)安装Mysql数据库

[root@localhost ~]# rpm -q mysql mysql-server
未安装软件包 mysql 
未安装软件包 mysql-server 
[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# rpm -q ncurses-devel
ncurses-devel-5.9-14.20130511.el7_4.x86_64

安装配置工具cmake

[root@localhost ~]# tar xf cmake-3.13.1.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/cmake-3.13.1/
[root@localhost cmake-3.13.1]# ./configure && gmake && gmake install

创建运行用户

[root@localhost ~]# useradd -M -s /sbin/nologin mysql

解包,配置,编译,安装

[root@localhost ~]# tar xf mysql-8.0.11.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/mysql-8.0.11/
[root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql     //数据库程序安装目录
-DDEFAULT_CHARSET=utf8                  //指定字符集编码
-DDEFAULT_COLLATION=utf8_general_ci         //默认的字符集校对规则,utf8_general_ci适用于utf-8字符集的通用规则
-DWITH_EXTRA_CHARSETS=all               //指定额外支持的字符集编码 
-DSYSCONFDIR=/etc                       //指定配置文件存放目录

报错处理:

----------------------------------------------------------------------------------------------------------------------------
CMake Error at cmake/boost.cmake:81 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=

  This CMake script will look for boost in .  If it is not there,
  it will download and unpack it (in that directory) for you.

  If you are inside a firewall, you may need to use an http proxy:

  export http_proxy=http://example.com:80

Call Stack (most recent call first):
  cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:507 (INCLUDE)

-- Configuring incomplete, errors occurred!
See also "/usr/src/mysql-5.7.24/CMakeFiles/CMakeOutput.log".
See also "/usr/src/mysql-5.7.24/CMakeFiles/CMakeError.log".
----------------------------------------------------------------------------------------------------------------------------

解决办法是:
1.在/usr/local下创建一个名为boost的文件夹

[root@localhost ~]# mkdir /usr/local/boost

2.进入目录并下载boost

[root@localhost ~]# cd /usr/local/boost
[root@localhost boost]# wget https://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.gz

3.解压boost

[root@localhost boost]# tar xf boost_1_66_0.tar.gz

4.继续cmake,添加上红色部分

[root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make && make install

2)安装后的调整
对数据库目录进行权限设置

[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql:mysql ./

建立配置文件(CentOS7系统默认支持MariaDB数据库,系统默认的/etc/my.cnf配置文件是MariaDB的配置文件 )

[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid

3)初始化数据库

[root@localhost mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
2018-12-08T01:51:39.798903Z 1 [Note] A temporary password is generated for root@localhost: dskL0)8S3FGe

--basedir=/usr/local/mysql/         //指定安装目录(产品目录)
--datadir=/usr/local/mysql/data     //指定数据目录
--user=mysql                    //指定用户身份

4)设置环境变量

[root@localhost mysql-5.7.24]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.7.24]# . /etc/profile  =  source /etc/profile

5)添加系统服务
添加MySQL为系统服务,以便通过systemctl命令进行管理

[root@localhost mysql-5.7.24]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.7.24]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql  #指定程序运行的用户账户
Group=mysql #指定程序运行的组账户

Type=forking
PIDFile=/usr/local/mysql/data/localhost.pid #指定PID文件的位置,默认为“主机名.pid”
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=mutil-user.target

[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/mutil-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.

[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2018-12-08 09:54:04 CST; 42s ago
 Main PID: 2520 (mysqld)
   CGroup: /system.slice/mysqld.service
           ├─2364 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid...
           └─2520 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/my...

12月 08 09:53:57 localhost systemd[1]: Starting MySQL Server...
12月 08 09:54:04 localhost systemd[1]: mysqld.service: Supervising process 2520 which is not...ts.
12月 08 09:54:04 localhost systemd[1]: Started MySQL Server.
12月 08 09:54:16 localhost systemd[1]: mysqld.service: Supervising process 2520 which is not...ts.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost ~]# netstat -lnpt | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      2520/mysqld

MySQL默认通过TCP3306端口提供服务,可通过编辑/etc/my.cnf文件中"port=3306"行进行修改。

[root@localhost mysql]# mysqladmin -u root -p'dskL0)8S3FGe' password 123456
[root@localhost mysql]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.11 Source distribution

Copyright (c) 2000, 2018, 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> exit
Bye

[root@localhost mysql]#

以上关于通过源码包方式实现MySQL-8.0 安装具体步骤详细内容,对大家有帮助吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...