编译安装MySQL5.6
MySQL5.6编译安装
1.安装依赖关系
yum install ncurses-devel libaio-devel gcc make cmake
rpm -qa ncurses-devel libaio-devel
2.创建mysql虚拟用户
useradd mysql -s /sbin/nologin -M
id mysql
3.获取mysql源代码,一般我们会放到一个指定的目录下
mkdir /server/tools
cd /server/tools
yum install wget -y
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.40.tar.gz
4.解压缩安装mysql
tar xfv mysql-5.6.40.tar.gz
5.我们进入mysql的解压目录,发现没有此时没有makefile
cd mysql-5.6.40
6.执行cmake,生成makefile,用于编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40
-DMYSQL_DATADIR=/application/mysql-5.6.40/data
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITH_ZLIB=bundled
-DWITH_SSL=bundled
-DWITH_EMBEDDED_SERVER=1
-DENABLED_LOCAL_INFILE=1
-DENABLED_DOWNLOADS=1
-DWITH_DEBUG=0 \
7.cmake编译参数设置完毕之后,就会自动生成makefile,可以执行
make
编译安装的时间可能有点长,请耐心等待,编译安装是根据我们服务器或虚拟机的配置相关的呦
出现如下图所示即为编译完成

8.最后执行命令
make && make install
9.因为我们cmake编译的时候指定了/application 这个目录,所以呢就生成了/application这个目录
编译安装的过程时间有点长,当我们看到如下图所示的时候,才能说明我们已经编译安装好了MySQL5.6

10.最后一步为了防止以后数据库的升级,我们会对/application/mysql-5.6.40/ 这个目录做个软链接
[root@master01 ~]# cd /application/
[root@master01 application]# ln -sv mysql-5.6.40/ mysql
‘mysql’ -> ‘mysql-5.6.40/’
[root@master01 application]#
[root@master01 application]# ll
total 0
lrwxrwxrwx 1 root root 13 Jun 20 14:29 mysql -> mysql-5.6.40/
drwxr-xr-x 13 root root 191 Jun 20 14:15 mysql-5.6.40
MySQL数据库初始化操作
请保证目录和我安装的目录一致,如有不同请注意修改
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
请确保你的界面出现两个ok,来确保你的初始化正常
[root@master01 ~]# ls /application/mysql/data/
ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test
[root@master01 ~]#
1.拷贝脚本文件
使用mysql初始化自动生成脚本,拷贝脚本到/etc/init.d/下面
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
2.准备好mysql的配置文件
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
3.启动数据库发现报错
[root@master01 ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/application/mysql-5.6.40/data/master01.err'.
210620 15:16:30 mysqld_safe Directory '/application/mysql-5.6.40/tmp' for UNIX socket file don't exists.
ERROR! The server quit without updating PID file (/application/mysql-5.6.40/data/master01.pid).
这时我们需要创建tmp目录,然后给/application/mysql/授权
mkdir /application/mysql/tmp
chown -R mysql.mysql /application/mysql/
4.再次尝试启动数据库
/etc/init.d/mysqld start
Starting MySQL. SUCCESS!
5.查看数据库默认端口3306,端口出现即为启动完成
[root@master01 ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9996/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 10081/master
tcp6 0 0 :::3306 ::😗 LISTEN 27527/mysqld

浙公网安备 33010602011771号