mysql 5.7编译安装重启_mysql5.7源码编译安装

news/2024/5/19 15:36:20

安装mysql前的准备:

一、安装依赖的库:

yum install  gcc-c++ ncurses-devel perl-Data-Dumper python-devel openssl openssl-devel

二、 安装cmake(因为mysql5.7的编译由cmake来实现)

安装cmake:

cd cmake-2.8.8/

预编译和安装:

./bootstrap

Make && make install

三、 安装boost:

下载源码包:

解压

unzip boost_1_59_0.zip

mv  boost_1_59_0.zip  /usr/local/boots

cd /usr/local/boost

编译安装:

./bootstrap.sh

./b2

sudo ./b2 install

配置环境变量:

vim /etc/profile

BOOST_ROOT=/usr/local/boost

BOOST_LIB=/usr/local/boost/stage/lib

BOOST_INCLUDE=/usr/local/include/boost

export BOOST _ROOT  BOOST _INCLUDE  BOOST _LIB

source /etc/profile

四、编译安装mysql:

下载源码包:

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.15.tar.gz

tar zxvf mysql-5.7.15.tar.gz

cd mysql-5.7.15/

编译和安装(下面编译参数请手动一行一行复制)

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/mydata/data \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

备注:mysql5.7的编译需指定boost,即:-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

2、添加mysql用户和组:

groupadd -r mysql

useradd -g mysql -r -d /mydata/data mysql

初始化数据库

bin/mysql_install_db --user=mysql  --basedir=/usr/local/mysql  --datadir=/mydata/data        # Before MySQL 5.6

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql  --datadir=/mydata/data      # MySQL 5.7 and up

cp support-files/my-default.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

3、修改配置文件:

vim /etc/my.cnf

[client]

port=3306

socket=/tmp/mysql.sock

default-character-set=utf8

[mysqld]

basedir =/usr/local/mysql

datadir =/mydata/data

port =3306

server_id =1

socket =/tmp/mysql.sock

pid-file=/mydata/data/mysql.pid

bind-address=localhost

#skip-grant-tables

4、启动mysql服务

service mysqld start

5、为了直接使用,加到环境变量里

vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

:wq  保存退出

执行这个脚本:

. /etc/profile.d/mysql.sh

[root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

6、此时需要修改root用户密码,在初始化数据库是会随机生成一个密码

方法如下:

1)、vim /etc/my.cnf#编辑文件,找到[mysqld],在下面添加一行skip-grant-tables

[mysqld]

skip-grant-tables

:wq!#保存退出

service mysqld restart #重启MySQL服务

2)、进入MySQL控制台

mysql -uroot -p#直接按回车,这时不需要输入root密码。

3)、修改root密码

update mysql.user set password=password('123456') where User="root" and Host="localhost";

flush privileges;#刷新系统授权表

grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;

4)、取消/etc/my.cnf中的skip-grant-tables

vi /etc/my.cnf编辑文件,找到[mysqld],删除skip-grant-tables这一行

:wq!#保存退出

5)、重启mysql

service mysqld restart#重启mysql,这个时候mysql的root密码已经修改为123456

6)、进入mysql控制台

[root@localhost ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 22 Server version: 5.7.15 Source distribution

Copyright (c) 2000, 2016, 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>

至此mysql5,7安装好了

7、启用远程连接:

mysql数据库远程访问设置方法

1、修改localhost

更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

mysql>FLUSH PRIVILEGES;

我自己使用 sqldeveloper远程连接mysql

需要下载mysql-connector-java-5.0.4-bin.jar包,并将其放到sqldeveloper下的jlib目录下

打开sqldeveloper,菜单栏-工具-首选项-数据库-第三方JDBC驱动程序,点击添加条目,在sqldeveloper\jlib目录下,

选择mysql-connector-java-5.0.4-bin.jar,点击确定,如下图所示:可以连接mysql(关闭linux防火墙哦,不然连不上)

e1290c2de878b4db3b1a341d08c5ef81.png

9ebe463cf5314fefd9fde6619a42e0a7.png

a9aced49710e1ea8076c8063413249ad.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pgtn.cn/news/29344.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

json11库的使用

JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,易于让人阅读。同时也易于机器解析和生成。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。JSON解析器和JSON库支持许…

mysql邮箱配置文件_SQL-数据库邮箱配置

一、启用数据库邮件手动启用数据库邮件功能,需执行以下脚本:exec sp_configure show advanced options,1RECONFIGUREexec sp_configure Database Mail XPs,1RECONFIGURE With Override二、配置数据库邮件1、启用配置向导如果事先没有手动启用数据库邮件功…

029 浏览器不能访问虚拟机的问题解决

1.在搭建分布式时 ssh一直不能进行scp,后来发现一个问题。 windows中的hosts配置了三台虚拟机的映射,但是在虚拟机中的hosts没有配置。 做法是在每台虚拟机上都配置三台虚拟机的映射。 2.端口访问与防火墙 最近帮别人解决问题时才注意的。 以前安装好虚拟…

C++中fstream的使用

C中处理文件类似于处理标准输入和标准输出。类ifstream、ofstream和fstream分别从类 istream、ostream和iostream派生而来。作为派生的类,它们继承了插入和提取运算符(以及其他成员函数),还有与文件一起使用的成员和构造函数。可将…

按esc键退出的一个函数

1functionesckey(keycode) // 按esc键退出2{ 3if (keycode 27 ) 4{ 5window.close() 6} 7}

判断输入是否为中文的函数

1functionischinese(s){ 2varrettrue ; 3for ( vari0 ;i < s.length;i) 4 retret &&(s.charCodeAt(i) > 10000 ); 5returnret; 6 }

内存检测工具Dr. Memory的使用

Dr. Memory是一个内存调试工具&#xff0c;它是一个开源免费的内存检测工具&#xff0c;它能够及时发现内存相关的编程错误&#xff0c;比如未初始化访问、内存非法访问、数组越界读/写、以及内存泄露等。它可以在Linux、Windows、Mac OS和Android操作系统上使用。关于Dr. Memo…

MyBatis中#{}和${}的区别

------------------------siwuxie095 MyBatis 中 #{} 和 ${} 的区别 1、在 MyBatis 的映射配置文件中&#xff0c;动态传递参数有两种方式&#xff1a; &#xff08;1&#xff09;#{} 占位符 &#xff08;2&#xff09;${} 拼接符 2、#{} 和 ${} 的区别 &#xff08;1&#xff…