一、先检查要安装的Linux服务器cglib版本号,命令 strings /lib64/libc.so.6 | grep GLIBC ,查看其是否有相应cglib版本,以下:node
只有在系统列表中的cglib才能够安装,以避免对不上还须要升级系统cglibmysql
二、查找mysql相关安装:linux
rpm -qa|grep -i mysqlsql
可能会出现如下的一个或多个,没有更好,说明你的系统很干净,可是以防万一,无论怎样下面的操做仍是检查一变数据库
perl-DBD-MySQL-4.013-3.el6.x86_64vim
mysql-libs-5.1.71-1.el6.x86_64centos
qt-mysql-4.6.2-26.el6_4.x86_64安全
mysql-5.1.71-1.el6.x86_64bash
mysql-server-5.1.71-1.el6.x86_64服务器
mysql-community-common-5.7.23-1.el7.x86_64
若是出现了上面的一个或多个,也不用担忧,使用卸载命令,有几个干掉几个!
卸载命令:rpm –ev {包名},如:
rpm -ev mysql-community-common-5.7.23-1.el7.x86_64
查找老版本mysql相关的安装目录命令:
find / -name mysql
若查找到相关目录使用命令:rm –rf {目录名}
最后使用命令:rpm -qa|grep -i mysql,从新检查一遍系统中是否安装mysql。
rpm -qa | grep mariadb
拷贝找到的列表,一个个卸载,如
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
新建software目录,切换到software目录,下载到该目录:
mkdir /root/software
cd/root/software
下载:(600M左右,下载须要点时间)
(mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
注:问题?
-bash: wget: command not found
而后在执行就能够了,或者能够去官网下载。
官网下载
地址:
https://dev.mysql.com/downloads/mysql/
或者直接找历史版本:https://downloads.mysql.com/archives/community/
国内镜像: http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/
(ps:最简单的是Windows的安装版,选择历史档案左侧的installer就能够选择下载:https://downloads.mysql.com/archives/installer/)
下载完
解压到当前目录:
tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
在software目录下移动文件到/usr/local/mysql:
mv mysql-5.7.23-linux-glibc2.12-x86_64/usr/local/mysql
cd/usr/local/mysql
mkdir data
查看组和用户状况
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户。
在查看就会发现没有,说明你已经删掉了
建立mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。
vim /etc/my.cnf
修改内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
:wq! 保存退出。
建立文件/tmp/mysql.sock:设置用户组及用户,受权
cd /tmp
touch mysql.sock
chown mysql:mysql mysql.sock
chmod 755 mysql.sock
建立文件/tmp/mysqld/mysqld.pid:
mkdir mysqld
cd mysqld
touch mysqld.pid
cd ..
chown -R mysql:mysql mysqld
cd mysqld
chmod 755 mysqld.pid
建立文件/var/log/mysqld.log:
touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
cd log
chmod 755 mysqld.log
配置文件其余参数,仅供参考:https://blog.csdn.net/u011823494/article/details/74548642
进入bin目录:
cd /usr/local/mysql/bin/
初始化数据库:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data
注:
这时会出现错误
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方案:
yum install -y libaio
若是是内网不能上网的环境,那么就得手动安装 numactl-2.0.9-2.el6.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm 这两个rpm包
rpm -ivh numactl-2.0.9-2.el6.x86_64.rpm
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
而后在执行./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data
安全启动:
./mysqld_safe --user=mysql &
是否启动成功,能够经过查看mysql进程,ps -ef | grep mysql
默认密码在mysqld.log日志里, 找到后保存到安全的地方:
cat /var/log/mysqld.log
其中root@localhost: 后面的就是默认密码,后面登陆用.(若是找不到可能默认是空,登陆时密码直接回车,不然可能安装有问题)
进入bin目录:
cd /usr/local/mysql/bin/
登陆mysql:
./mysql -u root -p
拷贝或者输入mysqld.log中得到的默认密码,便可进入mysql命令客户端。
可是,若输入相关命令,则会提示你修改用户密码(注意后面必定要加;)。
show databases;
假设密码修改成xh2018
mysql> set password=password("xh2018");
设置远程登陆权限
mysql>grant all privileges on *.* to 'root'@'%' identified by 'xh2018';
当即生效:
mysql> flush privileges;
退出quit 或者 exit;
mysql> quit;
至此,mysql安装流程已结束,后续若是经过远程ip进行root用户受权,还须要到mysql库下的user表中把%对应的root用户全部权限改成Y,不然远程受权会失败,参考:https://blog.csdn.net/nininininiabc222/article/details/80090384。
开机服务启动设置:
把support-files/mysql.server 拷贝为/etc/init.d/mysql:
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
查看是否拷贝成功
查看mysql服务是否在服务配置中
chkconfig --list mysql
若没有,则把mysql注册为开机启动的服务,而后在进行查看
chkconfig --add mysql
chkconfig --list mysql
启动 或 中止
service mysql start
service mysql stop
服务启动后,直接运行mysql -u root -p便可登陆,不须要进入到对应的目录。
ln -s /usr/local/mysql/bin/mysql /usr/bin
打开3306防火墙