天天看点

centos 7 手工安装mysql5.7

一、查看linux服务器的系统和版本

cat /etc/centos-release 查看centos 的版本

centos 7 手工安装mysql5.7

getconf LONG_BIT 查看当前安装的系统是32位还是64位

centos 7 手工安装mysql5.7

uname -m (这个命令也是可以查看当前安装的系统是32位还是64位

( i686 | i386)32位 ============(x86_64)64位

centos 7 手工安装mysql5.7

二、官网下载Mysql 安装包

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.g

centos 7 手工安装mysql5.7

三、卸载服务器自带的MariaDB

注意:一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。

rpm -qa | grep -i mariadb                //查看有没有安装mariadb 
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64//如果有,卸载MariaDB 
......
           

四、卸载旧版本Mysql(新服务器一般没有的,可以跳过)

rpm -qa | grep -i mysql                   //查看有没有安装mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64   //如果有,卸载旧版本Mysql
//删除mysql分散的文件夹
whereis mysql                             //查出相应的mysql文件夹,也可以用find / -name *mysql*                   
rm -rf /usr/lib64/mysql                     //删除
......
           

五、建立用户,授权安装目录和数据目录权限

//添加mysql组 
groupadd mysql
//添加用户 
useradd -g mysql mysql -s /sbin/nologin

mkdir -p /data/mysql/
mkdir /usr/local/mysql
chown -R mysql:mysql /data/mysql/
           

六、安装boost

cd /usr/local
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar xzf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh
./b2 install 
           

七、安装依赖

yum -y install cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel  openssl openssl-devel
           

八、编译安装Mysql

tar xzf mysql-5.7.24.tar.gz
cd mysql-5.7.24
 cmake . \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_DATADIR=/data/mysql \
 -DDOWNLOAD_BOOST=1 \
 -DWITH_BOOST=/usr/local/boost_1_59_0 \
 -DSYSCONFDIR=/etc \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DENABLE_DTRACE=0 \
 -DDEFAULT_CHARSET=utf8mb4 \
 -DDEFAULT_COLLATION=utf8mb4_general_ci \
 -DWITH_EMBEDDED_SERVER=1

make
make install
           

九、新建配置文件my.cnf

/etc/my.cnf

[mysql]
# 设置mysql客户端默认字符集
default-character-set = utf8
socket = /var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket = /var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir = /usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir = /data/mysql/
# 允许最大连接数
max_connections = 200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server = utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name = 1
max_allowed_packet = 16M
           

十、初始化数据

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

注: 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃
“–initialize”会生成一个随机密码(~/.mysql_secret),而”–initialize-insecure”不会生成密码
–datadir目标目录下不能有数据文件
           

十一、设置开机启动

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld (记得修改你的目录)

centos 7 手工安装mysql5.7
chmod + x /etc/init.d/mysqld#增加可执行权限 
chkconfig --add mysqld#添加到sysV服务 
chkconfig mysqld on 
           

十二、把安装目录用户和组更改为mysql

cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
           

十三、修改环境变量

vi /etc/profile 
# 在profile文件末尾增加两行 
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH 
export PATH 
 # 使PATH搜索路径立即生效:
source /etc/profile
           

十四、启动

service mysql start
           

十五、修改密码

mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
 mysql> FLUSH PRIVILEGES;
           

十六、 用户 创建 、授权、远程登录

授权test用户拥有所有数据库的某些权限:
grant select,delete,update,create,drop on *.* to '用户'@'%' identified by '密码';
FLUSH PRIVILEGES;
           

继续阅读