红联Linux门户
Linux帮助

CentOS 7.1上编译安装MySQL 5.7.10

发布时间:2015-12-15 09:44:55来源:linux网站作者:天王

1.下载源码

wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz


2.解压

tar zxvf mysql-5.7.10.tar.gz


3.安装必要的包

sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper


4.安装Boost

wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.zip 
unzip boost_1_59_0.zip 
cd boost_1_59_0 
./bootstrap.sh  
./b2 
sudo ./b2 install 


5.生成makefile

cmake .


6.编译

make


7.安装

sudo make install

mysql将会安装到/usr/local/mysql路径。


8.添加mysql用户和组

sudo groupadd mysql
sudo useradd -r -g mysql mysql


9.修改目录和文件权限,安装默认数据库

cd /usr/local/mysql
sudo chown -R mysql .
sudo chgrp -R mysql .
bin/mysqld --initialize-insecure --user=mysql 

[python] view plaincopy

bin/mysql_ssl_rsa_setup 
sudo chown -R root .
sudo chown -R mysql data

至此,mysql就可以启动运行了。


10.启动mysql

CentOS7自带MariaDB的支持,/etc下默认存在my.cnf文件干扰mysql运行,需要先删掉

cd /etc
sudo rm -fr my.cnf my.cnf.d

然后再/etc下重建my.cnf文件,内容如下

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = /data/mysql/data
# port = .....
server_id = 1
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# max_connection = 10000
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#binary log
log-bin = mysql-bin
binlog_format = mixed
# expire_logs_day = 30

#slow query log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 3
log-queries-not-using-indexes
log-slow-admin-statements

现在可以启动mysql了

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

CentOS7 不能使用service控制mysql服务,而源码安装的mysql也没有提供Systemd的控制脚本。

于是编辑/etc/rc.d/rc.local文件,添加mysql的开机启动命令。

/usr/local/mysql/bin/mysqld_safe --user=mysql & 

然后给/etc/rc.d/rc.local添加可执行权限

sudo chmod a+x /etc/rc.d/rc.local


11.修改root密码

/usr/loca/mysql/bin/mysql -uroot
use mysql;
UPDATE user SET authentication_string = PASSWORD('test2015') WHERE user = 'root';
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'rootpasswd';
FLUSH PRIVILEGES;


至此,安装基本完成了,一个mysql就能用了。


Ubuntu14.04编译安装mysql5.6.26:http://www.linuxdiyf.com/linux/14453.html

Ubuntu安装mysql和简单操作:http://www.linuxdiyf.com/linux/14327.html

Ununtu 15.04安装MySql(Django连接Mysql):http://www.linuxdiyf.com/linux/13783.html

Ubuntu15.04下MySQL5.6安装过程:http://www.linuxdiyf.com/linux/13250.html

Ubuntu 14.10下编译安装MySQL 5.6.23:http://www.linuxdiyf.com/linux/12221.html