- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
安装路径:/application/mysql-5.7.18 。
1.前期准备 。
mysql依赖 。
1
2
|
libaio
yum install -y libaio
|
创建用户mysql,以该用户的身份执行mysql 。
1
|
useradd -s /bin/
false
-M mysql
|
下载mysql二进制包并解压 。
1
2
3
|
cd /tools
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
tar -zxf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /application/
|
切换到/application目录,将mysql文件夹名改短,给mysql目录做一个软链接 。
1
2
3
|
cd /application/
mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql-5.7.18
ln -s mysql-5.7.18/ mysql
|
在mysql目录下创建mysql-files,该文件夹权限为750,递归设置mysql目录的所属组和所属用户 。
1
2
3
|
mkdir mysql/mysql-files
chmod 750 mysql/mysql-files
chown -R mysql:mysql mysql-5.7.18/
|
2.mysql目录内操作 。
1
|
cd mysql
|
初始化数据库 。
会在mysql目录内生成一个data目录,存放数据库的目录 。
1
|
bin/mysqld
--initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
|
返回结果最后一行的末尾有随机密码,我的记下来:wa0I:1w?V--a 。
1
|
2017-04-28T02:49:00.853710Z 1 [Note] A
temporary
password
is
generated
for
root@localhost: wa0I:1w?V
--a
|
想设置默认密码为空则将--initialize选项替换为--initialize-insecure选项 。
1
|
bin/mysqld
--initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
|
安装ssl 。
1
|
bin/mysql_ssl_rsa_setup
--datadir /application/mysql/data/
|
指定data目录的路径 。
更改所属用户和组 。
1
2
|
chown -R root .
chown -R mysql data mysql-files
|
除了mysql目录下的data目录和mysql-files目录所属用户不变,其他所有文件的所属用户改为root 。
修改配置文件 。
1
2
3
4
|
sed -i
's/^datadir=\/var\/lib\/mysql/datadir=\/application\/mysql\/data/g'
/etc/my.cnf
sed -i
's/^socket=\/var\/lib\/mysql\/mysql.sock/socket=\/tmp\/mysql.sock/g'
/etc/my.cnf
sed -i
's/^log-error=\/var\/log\/mariadb\/mariadb.log/log-error=\/application\/mysql\/data\/err.log/g'
/etc/my.cnf
sed -i
's/^pid-file=\/var\/run\/mariadb\/mariadb.pid/pid-file=\/application\/mysql\/data\/mysql.pid/g'
/etc/my.cnf
|
等价于
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
vi /etc/my.cnf
datadir=/application/mysql/data
socket=/tmp/mysql.sock
log-error=/application/mysql/data/err.log
pid-file=/application/mysql/data/mysql.pid
/etc/my.cnf Content:
[mysqld]
datadir=/application/mysql/data
socket=/tmp/mysql.sock
# Disabling symbolic-links
is
recommended
to
prevent assorted security risks
symbolic-links=0
# Settings
user
and
group
are ignored
when
systemd
is
used.
# If you need
to
run mysqld under a different
user
or
group
,
# customize your systemd unit file
for
mariadb according
to
the
# instructions
in
http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/application/mysql/data/err.log
pid-file=/application/mysql/data/mysql.pid
#
# include
all
files
from
the config directory
#
!includedir /etc/my.cnf.d
|
拷贝启动程序 。
1
|
cp support-files/mysql.server /etc/init.d/mysql
|
将mysql的启动程序拷贝到/etc/init.d/目录下,以便启动程序 。
编辑启动文件,配置启动目录 。
方法一:
思路是给配置文件提供的变量进行赋值。较麻烦.
1
2
3
|
sed -i
's/^basedir=/basedir=\/application\/mysql/g'
/etc/init.d/mysql
sed -i
's/^datadir=/datadir=\/application\/mysql\/data/g'
/etc/init.d/mysql
sed -i
's/^mysqld_pid_file_path=/mysqld_pid_file_path=\/application\/mysql\/data\/mysql.pid/g'
/etc/init.d/mysql
|
等价于将45、46两行 。
1
2
3
|
basedir=
datadir=
mysqld_pid_file_path=
|
替换成 。
1
2
3
|
basedir=/application/mysql
datadir=/application/mysql/data
mysqld_pid_file_path=/application/mysql/data/mysql.pid
|
方法二(推荐):
思路是将脚本的默认地址(/usr/local/mysql)直接替换成自定义路径(/application/mysql),便不用给变量赋值 。
1
|
sed -i
's#/usr/local/mysql#/application/mysql#g'
/etc/init.d/mysql
|
到这里mysql安装完成可以正常启动 。
3.后期结尾 。
命令创建软链接 。
将mysql命令创建软链接到环境变量的目录,使用户可以在变量找到相应的命令 。
1
|
ln -s /application/mysql/bin/* /usr/
local
/sbin
|
登录mysql 。
1
|
[root@www mysql]# mysql -u root -p
|
Enter password: #输入之前保存的随机密码drRR0 。
... 。
mysql> #成功登陆到mysql控制台 。
修改密码sql语句 。
1
|
mysql>
alter
user
'root'
@
'localhost'
identified
by
'NewPassWord'
;
|
#将密码修改为NewPassWord 。
Query OK, 0 rows affected (0.01 sec) #修改成功 。
键入quit或Ctrl + d退出 。
1
2
3
4
5
6
|
mysql> quit
Bye
[root@www mysql]#
or
mysql> ^DBye
[root@www mysql]#
|
4.常用命令 。
进入mysql 。
1
|
mysql -u root -p
|
启动mysql 。
1
|
service mysql start
|
停止mysql 。
1
|
service mysql stop
|
重启mysql 。
1
|
service mysql restart
|
以上所述是小编给大家介绍的Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
原文链接:http://www.2cto.com/database/201707/654706.html 。
最后此篇关于Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解的文章就讲到这里了,如果你想了解更多关于Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试将谷歌地图集成到 Xamarin Android。但是,如标题中所写,收到错误。此错误出现在我的 SetContentView (Resource.Layout.Main); 上,如下所示:
在 Delphi 中如何以非文本模式打开二进制文件?类似于 C 函数 fopen(filename,"rb") 最佳答案 有几个选项。 1。使用文件流 var Stream: TFileStrea
我现在正在处理一个问题,如下所示: 有两个数字 x1 和 x2 并且 x2 > x1。 例如 x1 = 5; x2 = 10; 而且我必须在二进制表示中找到 x1 和 x2 之间的总和。 5 = 10
我有这个“程序集”文件(仅包含 directives ) // declare protected region as somewhere within the stack .equiv prot_s
有没有办法在powershell中确定指定的文件是否包含指定的字节数组(在任何位置)? 就像是: fgrep --binary-files=binary "$data" "$filepath" 当然,
我是一名工程师,而不是软件程序员,所以请原谅我的无知。 我编写了一个 Delphi(7SE) 程序,用于从连接到两个数字温度计的 USB 端口读取“真实”数据类型。 我已经完成了该计划的大部分内容。
我有一些代码,例如: u=(float *)calloc(n, sizeof(float)); for(i=1; i
typedef struct pixel_type { unsigned char r; unsigned char g; unsigned char b;
如何判断二进制数是否为负数? 目前我有下面的代码。它可以很好地转换为二进制文件。转换为十进制时,我需要知道最左边的位是否为 1 以判断它是否为负数,但我似乎无法弄清楚该怎么做。 此外,我如何才能让它返
我有一个带有适当重载的 Vect*float 运算符的 vector 类,我正在尝试创建全局/非成员 float*Vect 运算符,如下所示:(注意这是一个经过大量编辑的示例) class Vect
对于使用 C 编程的项目,我们正在尝试将图像转换为二进制数据,反之亦然。我们在网上找到的所有其他解决方案都是用 C++ 或 Java 编写的。这是我们尝试过的方法: 将图像转换为包含二进制数据的文本文
我需要对列表的元素求和,其中包含所有零或一,如果列表中有 1,则结果为 1,否则为 0。 def binary_search(l, low=0,high=-1): if not l: retu
我到处搜索以找到将 float 转换为八进制或二进制的方法。我知道 float.hex 和 float.fromhex。是否有模块可以对八进制/二进制值执行相同的工作? 例如:我有一个 float 1
当我阅读有关 list.h 文件中的 hlist 的 FreeBSD 源代码时,我对这个宏感到困惑: #define hlist_for_each_entry_safe(tp, p, n, head,
我不知道出了什么问题,也不知道为什么会出现此错误。我四处搜索,但我终究无法弄明白。 void print_arb_base(unsigned int n, unsigned int b) {
在任何语言中都可以轻松地将十进制转换为二进制,反之亦然,但我需要一个稍微复杂一点的函数。 给定一个十进制数和一个二进制位,我需要知道二进制位是开还是关(真或假)。 示例: IsBitTrue(30,1
在下面的代码中,我创建了两个文件,一个是文本格式,另一个是二进制格式。文件的图标显示相同。但是这两个文件的特征完全相同,包括大小、字符集(==二进制)和流(八位字节)。为什么没有文本文件?因为如果我明
我想通读一个二进制文件。谷歌搜索“python binary eof”引导我here . 现在,问题: 为什么容器(SO 答案中的 x)不包含单个(当前)字节而是包含一大堆字节?我做错了什么? 如果应
为什么只允许以 10 为基数使用小数点?为什么以下会引发语法错误? 0b1011101.1101 我输入的数字是否有歧义?除了 93.8125 之外,字符串似乎没有其他可能的数字 同样的问题也适用于其
boost 库中有二进制之类的东西吗?例如我想写: binary a; 我很惭愧地承认我曾尝试找到它(Google、Boost)但没有结果。他们提到了一些关于 binary_int<> 的内容,但我既
我是一名优秀的程序员,十分优秀!