mysql

linux运维及其mysql8安装相关

 

.linux系统各个版本解析

  1. Ubuntu(动物名称对应发布日期)

1).precise 12.04

2).trusty 14.04

3).xenial 16.04

4).bionic 18.04

 

.检查linux环境

1.查看系统版本信息

cat /etc/issue

cat /etc/redhat-release(centos使用)

 

2.查看当前系统的运行位数

getconf LONG_BIT

 

 

.安装mysql8

  1. 卸载旧版本

rpm -qa | grep -i mysql(执行完毕有返回数据,请执行下面语句删除)

yum -y remove mysql-libs*(有网络的情况下可以使用yum命令)

https://jingyan.baidu.com/article/4dc4084867f91bc8d946f1eb.html(无网络可以查看这里的教程)

卸载软件:rpm -e --nodeps 软件名称 (无网络)

再输入最后一条命令后无任何返回时,即代表已经卸载干净,具体请看如下:

 

 

  1. 确定安装的版本

具体rpm源地址请查看如下网址: https://repo.mysql.com/

选择对应系统版本的数据,获取下载地址,复制备用

 

 

  1. 更新yum源

sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-2.noarch.rpm

红色部分替换为你需要安装的地址即可,看到完成即代表yum源更新完毕

 

  1. 使用yum安装mysql

sudo yum install mysql-community-server

同样显示完成即代表安装完成(中英文版本都一样),此过程需要较长时间,请耐心等待.过程中出现需要继续,请输入’y’回车继续.

 

 

 

  1. 启动mysql

sudo service mysqld start

 

  1. 查看mysql状态

sudo service mysqld status

 

  1. 查看mysql初始密码,并使用初始化密码进行登陆,

查看初始化密码:sudo grep 'temporary password' /var/log/mysqld.log

登陆:mysql -uroot –p 密码输入初始密码

 

注意:

当使用初始化密码进行数据库操作时,必须修改密码

  1. 修改初始密码(注意mysql版本,操作不一样)

1>.修改mysql7以上初始化密码(建议密码参照’Root!1234’设置),设置完毕后使用新密码登陆在做其他设置.

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

ALTER USER 'root'@'%'  IDENTIFIED WITH mysql_native_password BY 'Mysql2020!'

 

2>.修改mysql5.6.44的初始密码

use mysql;

update mysql.user set password=password("123456") where user="root";

net stop mysql;(修改完密码一定重启并使用新的进行登陆)

 

  1. 查看mysql的端口

show global variables like 'port';

 

  1. 查看编码集

show variables like 'character%';

 

 

  1. 新建库(仅在mysql8中如下设置)

create database 数据库名称;

 

  1. 开启远程访问数据库

mysql命令下执行如下命令:

use mysql;

update user set host = '%' where user ='root';

select host, user from user;

flush privileges;

其中%代表所有,user代表用户

 

 

13. mysql安装完毕,官方建议都运行如下初始化脚本(具体参看文档):

http://note.youdao.com/noteshare?id=3435f18470c726e7db010ce1cacfacce&sub=B95F457A3B4444289DB3D057E7984E5A(具体文档)

mysql_secure_installation

 

 

.mysql无法远程或者无法联机相关问题

1.首先在linux系统中执行如下命令:

查看所有运行的进程:netstat –ntlp

 

如果出现上面显示的问题,项目肯定无法正常链接数据库.

2.解决办法如下

1).编辑/etc/my.cnf

[mysqld]节中增加下面一行:

bind-address=0.0.0.0 #全部地址或者指定的ip地址

2).重启mysql服务即可解决

service mysqld restart

 

3).乱码解决

 

3.再次查看正在运行的进程,mysql的tcp6和tcp协议都已经生效

 

 

.关于防火墙设置(项目启动正常,无法访问)

 

1.首先查看linux版本的防火墙是否开启

注意系统版本,本例以centos7为题介绍

firewall-cmd --state

 

systemctl status firewalld

 

2.直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl start firewalld.service #开启防火墙

firewall-cmd --zone=public --list-ports #查看已开放的端口

3.添加tomcat8001端口到白名单

firewall-cmd --permanent --zone=public --add-port=8001/tcp

 

命令含义

--zone #作用域
--add-port=8001/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

4. 重启防火墙:添加成功之后需要重启防火墙

firewall-cmd –reload

 

 

 

5.其他相关

其他常用命令:

firewall-cmd --state       #查看防火墙状态,是否是running

firewall-cmd --reload     #重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --get-zones   #列出支持的zone

firewall-cmd --get-services   #列出支持的服务,在列表中的服务是放行的

firewall-cmd --query-service ftp  #查看ftp服务是否支持,返回yes或者no

firewall-cmd --add-service=ftp   #临时开放ftp服务

firewall-cmd --add-service=ftp --permanent  #永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent  #永久移除ftp服务

firewall-cmd --add-port=80/tcp –permanent  #永久添加80端口 

firewall-cmd --remove-port=80/tcp --permanent    #永久移除80端口 

firewall-cmd --zone=public --list-ports    #查看已开放的端口

 

六.关于Mysql8远程连接报错

 

解决:

  1. use mysql;
  2. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root!1234';

原因:

为了提供更安全的密码加密,Mysql8的首选默认认证插件是caching_sha2_password

 

七.Mysql启动失败解决方案:

rm -fr /var/lib/mysql/*

rm /var/lock/subsys/mysqld

killall mysqld

service mysqld start

 

.其他常用数据库命令

show databases; //显示数据库

create database name; //创建数据库

use databasename; //选择数据库

drop database name //直接删除数据库,不提醒

show tables; //显示表

describe tablename; //显示具体的表结构

ALTER TABLE WbSingleReport MODIFY wbtitle longtext;//mysql下修改表的字段类型(由varchar修改为lob,也就是longtext)

select 中加上distinct去除重复字段

mysqladmin drop databasename //删除数据库前,有提示。

//显示当前mysql版本和当前日期

select version(),current_date;

. Linuxrzsz命令用法

rzszLinux/UnixWindows进行ZModem文件传输的命令行工具。
优点就是不用再开一个sftp工具登录上去上传下载文件。

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传Linux服务器

安装命令:

yum install lrzsz

从服务端发送文件到客户端:

sz filename

从客户端上传文件到服务端:

rz

在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

 

.Oracle数据库相关

1.查看oracle客户端版本:

sqlplus -v

2.切换oracle命令

sqlplus /nolog

3.登录oracle

conn account/password

4.查询当前账户下的所有数据表

select table_name from user_tables;

5.windows下数据导出(ruc/ruc@databasename)

exp ruc/ruc@ruc file=d:/aaaa.dmp full=y

6. D:\daochu.dmp 中的数据导入 TEST数据库中。imp system/manager@TEST  file=d:\daochu.dmp

posted @ 2020-10-22 17:06  zzl0916  阅读(105)  评论(0编辑  收藏  举报