Mysql数据库采用源码安装
[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
---------------------------------------------------------------
出现上面的结果表示预编译成功!
[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用户,如果没有则创建
[root@server mysql-5.7.17]# cat /etc/passwd | grep mysql [root@server mysql-5.7.17]# cat /etc/group | grep mysql
创建mysql用户(但是不能使用mysql账号登陆系统)
[root@server mysql-5.7.17]# groupadd mysql [root@server mysql-5.7.17]# useradd -g mysql -s /sbin/nologin mysql
修改权限
[root@server mysql-5.7.17]# chown -R mysql:mysql /usr/local/mysql
[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
[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
[root@server mysql-5.7.17]# chkconfig --add mysqld [root@server mysql-5.7.17]# chkconfig --level 35 mysqld on
进入/etc/profile设置环境变量
[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之前版本初始化配置表命令:
#script/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/
#mysql5.7已经放弃使用了,而且也没有script目录,可以使用下面这个
#[root@server mysql-5.7.17]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/
生成的初始密码位于:
方法一:
[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 (密码是随机产生的,每台机器产生的都不一样哦)
方法二:
[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密码
[root@server mysql-5.7.17]# /etc/init.d/mysqld start
[root@server mysql-5.7.17]# mysql -uroot -p Enter password: # 输入刚刚的随机密码链接数据库 mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘新密码‘;
本文出自 “MQ_douer” 博客,请务必保留此出处http://douer.blog.51cto.com/6107588/1933366
原文地址:http://douer.blog.51cto.com/6107588/1933366