CentOS7上编译安装MySQL5.6.23
2.解压
1
|
tar zxvf mysql-5.6.23.tar.gz |
3.安装必要的包
1
|
sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper |
4.进入mysql源码目录,生成makefile
1
|
cmake . |
5.编译
1
|
make |
6.安装
1
|
sudo make install |
mysql将会安装到/usr/local/mysql路径。
7.添加mysql用户和组
1
2
|
sudo groupadd mysql sudo useradd -r -g mysql mysql |
8.修改目录和文件权限,安装默认数据库
1
2
3
4
|
cd /usr/ local /mysql sudo chown -R mysql . sudo chgrp -R mysql . sudo scripts/mysql_install_db --user=mysql |
1
|
sudo chown -R root . |
1
|
sudo chown -R mysql data |
至此,mysql就可以启动运行了。
9.启动mysql
CentOS7自带MariaDB的支持,/etc下默认存在my.cnf文件干扰mysql运行,需要先删掉
1
2
|
cd /etc sudo rm -fr my.cnf my.cnf.d |
然后再/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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# For advice on how to change settings please see [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 = ..... # 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了
1
|
sudo /usr/ local /mysql/bin/mysqld_safe --user=mysql & |
CentOS7 不能使用service控制mysql服务,而源码安装的mysql也没有提供Systemd的控制脚本。
于是编辑/etc/rc.d/rc.local文件,添加mysql的开机启动命令。
1
|
/usr/ local /mysql/bin/mysqld_safe --user=mysql & |
然后给/etc/rc.d/rc.local添加可执行权限
1
|
sudo chmod a+x /etc/rc.d/rc. local |
9.修改root密码
1
2
3
|
/usr/loca/mysql/bin/mysql -uroot use mysql; UPDATE user SET password = PASSWORD ( 'test2015' ) WHERE user = 'root' ; |
1
|
GRANT ALL PRIVILEGES ON *.* TO root@ '%' IDENTIFIED BY 'stcm2015' ; |
1
|
FLUSH PRIVILEGES ; |
至此,安装基本完成了,一个mysql就能用了。