centos7 安装MySQL5.6

centos7 安装MySQL5.6

#安装编译源码所需的工具和库
yum  -y install gcc gcc-c++ auto conf bison cmake automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* perl

# 下载 MySQL、cmake
cd /opt/software/
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz   
tar -xzvf cmake-2.8.10.2.tar.gz   

# 安装cmake
cd cmake-2.8.10.2   
./bootstrap
make && make install   
cmake --version
#cmake卸载:
#找到make install之后产生的这个文件install_manifest.txt
#里面有安装的所有东西的路径,删除它们即可。
#参考命令:cat install_manifest.txt | sudo xargs rm

# 增加 mysql的用户。
groupadd mysql 
useradd mysql -g mysql -M -s /sbin/nologin 
# ===============   -g:指定新用户所属的用户组(group)
# ===============   -M:不建立根目录
# ===============   -s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。

# 解压mysql
cd /opt/software/
tar zxf mysql-5.6.37.tar.gz
cd /opt/software/mysql-5.6.37

# 创建mysql安装目录、创建数据存放目录
mkdir -p /data/3316
mkdir -p /home/deploy/mysql-5.6.37

cmake \
-DCMAKE_INSTALL_PREFIX=/home/deploy/mysql-5.6.37 \
-DMYSQL_UNIX_ADDR=/home/deploy/mysql-5.6.37/mysql.sock \
-DWITH_BOOST=/usr/local/boost \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/3316 \
-DMYSQL_TCP_PORT=3316 \
-DMYSQL_USER=mysql \
-DENABLE_DOWNLOADS=1

#端口号写死、慎重,后期不好改
# -DMYSQL_TCP_PORT=3316 \

#注意事项:
#重新编译时,需要清除旧的对象文件和缓存信息。
# cd /opt/software/mysql-5.6.37
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf

# 编译安装
make && make install

#4.改变数据存储目录所有者为mysql
chown -R mysql.mysql /home/deploy/mysql-5.6.37
chown -R mysql.mysql /data/3316

# 创建文件
touch /home/deploy/mysql-5.6.37/mysql-error.log

# 数据库初始化
cd /home/deploy/mysql-5.6.37
./scripts/mysql_install_db --user=mysql --basedir=/home/deploy/mysql-5.6.37 --datadir=/data/3316 --pid-file=/home/deploy/mysql-5.6.37/mysql.pid --no-defaults 

# 6.注册服务
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod +x /etc/rc.d/init.d/mysqld

# 复制配置文件
cp support-files/my-default.cnf /etc/my.cnf  
#(5.6之前的版本是此操作,读者也可在此时自己进入support-files文件夹下面,看是配置文件的真正名称,那个存在,就拷贝那个。。)---可自行创建my.cnf

#设置mysqld开机启动
# 复制启动脚本
cp /home/deploy/mysql-5.6.37/support-files/mysql.server /etc/init.d/mysqld 
chmod +x /etc/init.d/mysqld 
# 修改mysqld
vim /etc/init.d/mysqld 
basedir=/home/deploy/mysql-5.6.37
datadir=/data/3316

# 添加mysqld为开机启动服务
chkconfig --add mysqld
chkconfig mysqld on 

# 查看是否设置成功:
chkconfig --list mysqld 

# 添加环境变量。(有些系统环境变量路径不一致 一定要注意哦!!!!!!!)
export PATH=$PATH:/home/deploy/mysql-5.6.37/bin
echo 'PATH=$PATH:/home/deploy/mysql-5.6.37/bin' >> /etc/profile 
source /etc/profile
##echo "export PATH=$PATH:/home/deploy/mysql-5.6.35/bin"> /etc/profile.d/mysql.sh  
##source /etc/profile.d/mysql.sh 

#查看/home/deploy/mysql-5.6.37 下重新生成的my.cnf 更改属组
cd /home/deploy/mysql-5.6.37
ls -lah
chown mysql.mysql my.cnf 

# 新建错误日志
touch /home/deploy/mysql-5.6.37/mysql-error.log

# 编辑 my.cnf
vim /etc/my.cnf
[client]
port = 3316
socket = /home/deploy/mysql-5.6.37/mysql.sock

[mysqld]
user = mysql
basedir = /home/deploy/mysql-5.6.37
datadir = /data/3316
port = 3316
socket = /home/deploy/mysql-5.6.37/mysql.sock
log-error = /home/deploy/mysql-5.6.37/mysql-error.log  

explicit_defaults_for_timestamp=true   #关闭错误警告
character-set-server=utf8
init-connect='SET NAMES utf8'
collation-server =utf8_general_ci
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
#skip-grant-tables 忽略密码
#server_id = 100

#启动mysql
service mysqld start/stop 
或
/home/deploy/mysql-5.6.37/bin/mysqld_safe --user=mysql --datadir=/data/3316/ & 适用于没有自启动文件的

#启动mysql,看是否成功  
netstat -tnl|grep 3316


##root密码无法登录问题
##service mysqld stop
##mysqld_safe --skip-grant-tables --skip-networking &
posted @ 2019-01-08 14:53  不可撤销  阅读(98)  评论(0编辑  收藏  举报