Linux centOS7下手动安装mysql-5.7.20 图文详解

0)

卸载系统自带的Mariadb数据库,避免冲突

 

一)

我安装的版本是:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

下载地址:https://downloads.mysql.com/archives/community/

在本机上下载好MySQL版本之后通过pscp.exe上传到服务器,我在服务器的 /usr/local 里面新建文件夹java,把MySQL上传到该文件夹里面:通过DOS命令进入pscp.exe目录里,输入命令:pscp d:/temp/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz [email protected]:/usr/local/java 回车后输入Linux账户密码即可。

Linux centOS7下手动安装mysql-5.7.20 图文详解_第1张图片

在Linux目录下查看是否已上传的文件:cd /usr/local/java      查看:ls

Linux centOS7下手动安装mysql-5.7.20 图文详解_第2张图片

将上传的安装包解压到该目录下:tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local/java

将解压后的文件重命名为mysql,命令:mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql。我解压了两遍导致同时出现了重命名前后两个文件,不过没关系,我将多余的删掉了。

 

三)

安装依赖:yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel

添加系统mysql组:groupadd mysql

添加mysql用户: useradd -r -g mysql mysql 

查看:id mysql

Linux centOS7下手动安装mysql-5.7.20 图文详解_第3张图片

 

四)

进入mysql目录:cd /usr/local/java/mysql

修改当前目录拥有者为mysql用户:chown -R mysql:mysql ./

安装数据库:bin/mysqld --initialize --user=mysql --basedir=/usr/local/java/mysql --datadir=/usr/local/java/mysql/data

回车后最后一行root@localhost:*****生成的是临时密码,记住一下。

【注:如果看到报错①:bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory          解决方法:yum -y install numactl

报错②:bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    解决方法:yum install -y libaio】

Linux centOS7下手动安装mysql-5.7.20 图文详解_第4张图片

执行以下命令创建RSA private key:

 bin/mysql_ssl_rsa_setup --datadir=/usr/local/java/mysql/data

修改当前目录拥有者为mysql用户:chown -R mysql:mysql ./

修改当前data目录拥有者为mysql用户:chown -R mysql:mysql data

 

五)

命令:vim /etc/my.cnf    打开etc文件夹下的my.cnf文件

按 i 进入编辑模式,输入以下内容:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/java/mysql
datadir=/usr/local/java/mysql/data
socket=/tmp/mysql.sock
#不区分大小写 
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log

pid-file=/usr/local/java/mysql/data/mysqld.pid

然后按Esc键退出编辑模式,输入:wq命令,表示保存并退出。

添加开机启动项:cp /usr/local/java/mysql/support-files/mysql.server  /etc/init.d/mysqld

进入mysqld文件:vim /etc/init.d/mysqld

找到如图下两个位置:这两个位置本来=号右边是空的,添加配置:

basedir=/usr/local/java/mysql
datadir=/usr/local/java/mysql/data

Linux centOS7下手动安装mysql-5.7.20 图文详解_第5张图片

 

六)

启动MySQL:service mysqld start

加入开机启动:chkconfig --add mysqld

 

七)

登录mysql:mysql -uroot -p

网上都说如果这一步出现错误的话,

就添加软连接:ln -s /usr/local/java/mysql/bin/mysql /usr/bin

但是我添加了还是一样的错误,后来发现我的/usr/bin里面的mysql文件是空的,然后我把它删除后重新拷贝了一份就好了。

登陆之后,修改初始化密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

授权权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限:FLUSH PRIVILEGES;

Linux centOS7下手动安装mysql-5.7.20 图文详解_第6张图片

 

八)

使用navicat.exe远程连接mysql

首先查看防火墙是否开启(centOS7默认使用firewall作为防火墙):firewall-cmd --state

如果防火墙是打开的,那就要查看已经开发的端口号:firewall-cmd --list-ports

开放新的端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

注:–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

然后重启防火墙:firewall-cmd --reload ,再次查看开发端口会发现3306已经开放了。

但是如果只是测试的话,可以关闭防火墙:systemctl stop firewalld,就不用那么麻烦了

然后可以直接用navicat远程连接mysql

 

 

 

 

 

 

 

你可能感兴趣的:(Linux centOS7下手动安装mysql-5.7.20 图文详解)