Mysql数据库采用源码安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@server ~]
# wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17.tar.gz
[root@server ~]
# tar -zxf mysql-5.7.17.tar.gz
[root@server ~]
# cd mysql-5.7.17
[root@server mysql-5.7.17]
# yum install cmake ncurses-devel -y
[root@server mysql-5.7.17]
# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
#指定套间字路径
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
#设置字符集
-DDEFAULT_COLLATION=utf8_general_ci \
#设置字符校验集
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
#指定Boost扩展源码路径
|
---------------------------------------------------------------
CMake Warning:
Manually-specified variables were not used by the project:
WITH_MEMORY_STORAGE_ENGINE
WITH_READLINE
-- Build files have been written to: /root/mysql-5.7.17
---------------------------------------------------------------
出现上面的结果表示预编译成功!
1
2
|
[root@server mysql-5.7.17]
# make -j grep 'processor' /proc/cpuinfo | wc -l
[root@server mysql-5.7.17]
# make -j grep 'processor' /proc/cpuinfo | wc -l install
|
检查系统是否已经有mysql用户,如果没有则创建
1
2
|
[root@server mysql-5.7.17]
# cat /etc/passwd | grep mysql
[root@server mysql-5.7.17]
# cat /etc/group | grep mysql
|
创建mysql用户(但是不能使用mysql账号登陆系统)
1
2
|
[root@server mysql-5.7.17]
# groupadd mysql
[root@server mysql-5.7.17]
# useradd -g mysql -s /sbin/nologin mysql
|
修改权限
1
|
[root@server mysql-5.7.17]
# chown -R mysql:mysql /usr/local/mysql
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@server mysql-5.7.17]
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
[root@server mysql-5.7.17]
# vim /etc/my.cnf
###################
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
#innodb_force_recovery=6
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id = 1
auto_increment_offset=1
auto_increment_increment=2
# 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=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
|
1
2
3
4
5
|
[root@server mysql-5.7.17]
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@server mysql-5.7.17]
# vim /etc/init.d/mysqld
#####添加安装目录及数据目录
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
|
1
2
|
[root@server mysql-5.7.17]
# chkconfig --add mysqld
[root@server mysql-5.7.17]
# chkconfig --level 35 mysqld on
|
进入/etc/profile设置环境变量
1
2
3
|
[root@server mysql-5.7.17]
# vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
#在末尾添加
[root@server mysql-5.7.17]
# source /etc/profile
|
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
#mysql5.7之前版本初始化配置表命令:
1
|
#script/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/
|
#mysql5.7已经放弃使用了,而且也没有script目录,可以使用下面这个
1
|
#[root@server mysql-5.7.17]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/
|
生成的初始密码位于:
方法一:
1
2
|
[root@server mysql-5.7.17]
# grep 'temporary password' /var/log/mysqld.log
2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated
for
root@localhost: MtPqF0/oN5zo
|
即初始密码为 MtPqF0/oN5zo (密码是随机产生的,每台机器产生的都不一样哦)
方法二:
1
2
|
[root@server mysql-5.7.17]
# cat /root/.mysql_secret
# The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m
|
这里的aJqZsA2m就是生成的root随机密码啦
接下来,启动数据库,重设root密码
1
|
[root@server mysql-5.7.17]
# /etc/init.d/mysqld start
|
1
2
3
|
[root@server mysql-5.7.17]
# mysql -uroot -p
Enter password:
# 输入刚刚的随机密码链接数据库
mysql> ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'新密码'
;
|
本文转自MQ_douer 51CTO博客,原文链接:http://blog.51cto.com/douer/1933366,如需转载请自行联系原作者