CentOs下MySQL5.6.32源码安装

1. 安装好--安装MySQL需要的包
yum install -y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison ncurses5-devel ncurses-devel autoconf

2. 
[root@localhost ~]# cd /usr/local/src
//下载MySQL源码包
[root@localhost src]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33.tar.gz
[root@localhost src]# ls
mysql-5.6.33.tar.gz
[root@localhost src]# tar zxvf mysql-5.6.33.tar.gz
[root@localhost src]# mv mysql-5.6.33 ..
[root@localhost src]# cd ..
[root@localhost src]# mv mysql-5.6.33 mysql
#这一步很重要,一定确定路径正确
第一步:
[root@localhost mysql
-5.6.33]#cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/tmp/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
第二步: 
[root@localhost mysql
-5.6.33]# make && make install
# 启动前的工作
1 groupadd mysql
2 useradd -g mysql mysql 
3 chown -R mysql:mysql /usr/local/mysql/
#如果/etc下面没有my.cnf 那么将mysql安装目录下的my.cnf-default复制过去 4 mv /etc/my.cnf /etc/my.cnf.default

1 # 初始化脚本生成临时密码 这里也是 对应的路径和上面一直并且和/etc/my.cnf文件夹配置内容一直 否则启动不了
2 # /usr/local/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql
3 # 启动 /usr/local/mysql/support-files/mysql.server start 4 # 登陆 /usr/local/mysql/bin/mysql -u root5 # 初次登陆 直接回车 6 # 重置系统生成的临时密码以及设置权限(如果不修改,则不能正常使用 MySQL) SET PASSWORD = PASSWORD('123456'); 7 #授权 让root在其他主机都可以登录 8 GRANT ALL ON *.* to root@"%" IDENTIFIED BY "123456";
9 将相应用户数据表中的host字段改成'%';

 update user set host='%' where user='root';

  ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 不予理会

  flush privileges;

 1 #创建systemctl管理mysql的配置文件:
 2 #创建配置文件
 3 touch /usr/lib/systemd/system/mysql.service
 4 #打开配置文件
 5 vim /usr/lib/systemd/system/mysql.service
 6 
 7 [Unit]
 8 Description=MySQL Server
 9 Documentation=man:mysqld(8)
10 Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
11 After=network.target
12 After=syslog.target
13 
14 [Install]
15 WantedBy=multi-user.target
16 
17 [Service]
18 User=mysql
19 Group=mysql
20 Type=forking
21 #这里目录选择自己的mysql安装时相应目录
22 ExecStart=/usr/local/mysql/support-files/mysql.server start
23 ExecReload=/usr/local/mysql/support-files/mysql.server restart
24 ExecStop=/usr/local/mysql/support-files/mysql.server stop
25 PrivateTmp=true
26 LimitNOFILE = 5000 
1 #最后 设置开机启动
2 [root@localhost mysql]# systemctl enable mysql
3 Created symlink from /etc/systemd/system/multi-user.target.wants/mysql.service to /usr/lib/systemd/system/mysql.service.
折腾了半天,大功告成!
原文地址:https://www.cnblogs.com/pcyy/p/9655335.html