一.myql的源码编译安装
1.下载安装包:
[root@db01 ~]# wget https://downloads.mysql.com/archives/get/file/mysql-5.6.40.tar.gz
2.安装依赖包
yum install -y gcc gcc-c++ autoconf libaio-devel cmake ncurses-devel
3.解压安装包
[root@db01 ~]# tar xf mysql-5.6.40.tar.gz
3.1进入mysql目录
[root@db02 ~]# cd mysql-5.6.40/
3.2创建用户
[root@db02 mysql-5.6.40]# useradd mysql -r
4.生成 cmake或者gmake
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 \
-DWITH_EXTRA_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 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
写到对应的程序中
5.编译 make
[root@db02 mysql-5.6.40]# make
6.安装 make install
[root@db02 mysql-5.6.40]# make install
7.做软链接
[root@db02 ~]# ln -s /application/mysql-5.6.40 /application/mysql
8.拷贝配置文件和启动脚本
[root@db02 mysql-5.6.40]# cd support-files/
[root@db02 support-files]# cp mysql.server /etc/init.d/mysqld
[root@db02 support-files]# cp my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
9.初始化
[root@db02 mysql-5.6.40]# cd /application/mysql/scripts/
[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
10.添加环境变量
[root@db02 scripts]# vim /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH"
[root@db02 scripts]# source /etc/profile
11.启动mysql
[root@db02 scripts]# /etc/init.d/mysqld start
image.png
没有存放的目录
创建/application/mysql-5.6.40/tmp目录
mkdir -p /application/mysql-5.6.40/tmp
再次启动还是报错
image.png没有权限
[root@db02 application]# chown -R mysql.mysql /application/mysql*
[root@db02 application]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
12.改成centos7的systemctl管理方式
[root@db01 scripts]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
二、二进制安装
下载:二进制包
[root@db01 ~]# wget https://downloads.mysql.com/archives/get/file/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
1.解压
[root@db01 ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
2.移动安装目录
[root@db01 ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql-5.6.40
3.软链接
[root@db01 ~]# ln -s /usr/local/mysql-5.6.40 /usr/local/mysql
[root@db01 ~]# ll /usr/local/
lrwxrwxrwx. 1 root root 23 7月 9 01:22 mysql -> /usr/local/mysql-5.6.40
drwxr-xr-x. 13 root root 191 7月 9 01:19 mysql-5.6.40
4.创建mysql用户
[root@db01 ~]# useradd mysql -r
5.进入配置文件和脚本目录
[root@db01 mysql]# cd /usr/local/mysql/support-files
6.拷贝配置文件
[root@db01 support-files]# cp my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
7.拷贝启动脚本
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
8.进入初始化目录
[root@db01 scripts]# cd /usr/local/mysql/scripts
9.执行初始化
[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
--user:指定用户
--basedir:指定mysql的安装目录
--datadir:指定mysql存放数据的目录(库,表,表空间,表结构)
正经的mysql:
information_schema
performance_schema
mysql
test
初始化成功:
1.两个OK
2.查看data目录是否有数据库文件
[root@db01 scripts]# ll /usr/local/mysql/data/
总用量 110600
-rw-rw----. 1 mysql mysql 12582912 7月 9 01:34 ibdata1
-rw-rw----. 1 mysql mysql 50331648 7月 9 01:34 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 7月 9 01:34 ib_logfile1
drwx------. 2 mysql mysql 4096 7月 9 01:34 mysql
drwx------. 2 mysql mysql 4096 7月 9 01:34 performance_schema
drwxr-xr-x. 2 mysql mysql 20 7月 9 01:19 test
10.启动MySQL
如果是自定义二进制安装:需要修改脚本目录
[root@db03 scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
[root@db01 scripts]# /etc/init.d/mysqld start
提示:日志记录的位置.
Starting MySQL.Logging to '/usr/local/mysql/data/db01.err'.
SUCCESS!
11.添加环境变量
[root@db01 scripts]# vim /etc/profile.d/mysql.sh
export PATH="/usr/local/mysql/bin:$PATH"
12.加载环境变量
[root@db01 scripts]# source /etc/profile
13.检查MySQL进程
[root@db01 scripts]# ps -ef|grep [m]ysql
14.检查MySQL端口
[root@db01 scripts]# netstat -lntup|grep 3306
15.CentOS7管理方式:
编辑mysqld启动脚本
[root@db01 scripts]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
如果自定义路径得改
这行ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
然后在/etc/my.cnf的mysqld下面添加
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
systemctl daemon-reload
网友评论