mysql源码包安装_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]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值