当前位置: > 数据库 > MySQL >

CentOS 7.2 上编译安装MySQL 5.7.13

时间:2017-01-31 15:02来源:linux.it.net.cn 作者:IT

1.下载源码

 

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

 

2.解压

 
  1. tar zxvf mysql-5.7.13.tar.gz    

 

3.安装必要的包

 
  1. sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper libicu-devel libquadmath-devel python-devel bzip2-devel  

 

4.安装Boost

 

  1. wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.zip  
  2. unzip boost_1_59_0.zip  
  3. cd boost_1_59_0  
  4. ./bootstrap.sh   
  5. ./b2  
  6. sudo ./b2 install  

 

 

5.清除MariaDB

 

系统安装完成后,默认安装了mariadb-libs包,需要先清除掉,因依赖关系,系统会同时删除掉postfix。

 
  1. sudo yum remove mariadb-libs    

6.生成makefile

 
  1. cmake . -DWITH_SYSTEMD=1  
加上-DWITH_SYSTEMD=1可以使用systemd控制mysql服务,默认是不开启systemd的。
 

7.编译

 

  1. make  


 

8.安装

 
  1. sudo make install    

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

 

9.添加mysql用户和组

 

  1. sudo groupadd mysql    
  2. sudo useradd -r -g mysql mysql    

 


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

 

  1. cd /usr/local/mysql    
  2. sudo chown -R mysql .    
  3. sudo chgrp -R mysql .    
  4. sudo bin/mysqld --initialize-insecure --user=mysql  
  5. sudo bin/mysql_ssl_rsa_setup  
  6. sudo chown -R root .    
  7. sudo chown -R mysql data    


 

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

 

11.启动mysql

在/etc下新建my.cnf文件,内容如下

 

  1. # For advice on how to change settings please see    
  2. # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html    
  3.     
  4. [mysqld]    
  5.     
  6. # Remove leading # and set to the amount of RAM for the most important data    
  7. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.    
  8. # innodb_buffer_pool_size = 128M    
  9.     
  10. # Remove leading # to turn on a very important data integrity option: logging    
  11. # changes to the binary log between backups.    
  12. # log_bin    
  13.     
  14. # These are commonly set, remove the # and set as required.    
  15. # basedir = .....    
  16. # datadir = /data/mysql/data    
  17. # port = .....    
  18. server_id = 1    
  19. # socket = .....    
  20.     
  21. # Remove leading # to set options mainly useful for reporting servers.    
  22. # The server defaults are faster for transactions and fast SELECTs.    
  23. # Adjust sizes as needed, experiment to find the optimal values.    
  24. # join_buffer_size = 128M    
  25. # sort_buffer_size = 2M    
  26. # read_rnd_buffer_size = 2M     
  27.     
  28. # max_connections = 10000    
  29. sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES     
  30.   
  31. #error log  
  32. log_error = /usr/local/mysql/data/mysqld.err  
  33.     
  34. #binary log     
  35. log-bin = mysql-bin    
  36. binlog_format = mixed    
  37. # expire_logs_day = 30    
  38.     
  39. #slow query log     
  40. slow_query_log = 1    
  41. slow_query_log_file = /var/log/mysql/slow.log    
  42. long_query_time = 3    
  43. log-queries-not-using-indexes    
  44. log-slow-admin-statements    
若系统无
 
  1. /var/log/mysql/slow.log   

文件,则新建该文件,并将读写权限开放给mysql用户。

 

mysql默认将mysqld.service文件安装到了mysql安装目录下的 usr/lib/systemd/system/,将mysqld.service复制到/usr/lib/systemd/system/目录下

 

 
  1. cd /usr/local/mysql/   
  2. sudo cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/  

在mysqld.service,把默认的pid文件指定到了/var/run/mysqld/目录,而并没有事先建立该目录,因此要手动建立该目录并把权限赋给mysql用户。

 

 
  1. cd /var/run  
  2. sudo mkdir mysqld  
  3. sudo chown -R mysql mysqld  
  4. sudo chgrp -R mysql mysqld  

现在可以使用systemd启动mysql了

 

 
  1. sudo systemctl start mysqld  

 

12.修改root密码并开放网络登录

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

 

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

 


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容