赞
踩
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
服务器:HECS云服务器
系统版本:centos7
原因:以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。
- rpm -qa|grep mariadb
- rpm -qa|grep mysql
- # rpm -e --nodeps 文件名
- rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
- rm -rf /etc/my.cnf
-
- rpm -qa|grep mariadb
- rpm -qa|grep mysql
下载最新版本:MySQL :: Download MySQL Community Server
第一步:将下载好的tar包上传到服务器,并解压
tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
解压之后包含以下文件
第二步:rpm安装
rpm -Uvh --force --nodeps *.rpm
注:如需更改mysql存储位置和忽略大小写设置需要在初始化前执行
- [mysqld]
- port=3306
- datadir=/var/lib/mysql
- socket=/var/lib/mysql/mysql.sock
-
- log-error=/var/log/mysqld.log
- pid-file=/var/run/mysqld/mysqld.pid
- log-queries-not-using-indexes = 1
- slow_query_log = 1
- general_log = 1
- wait_timeout=28800
- max_connections=5000
- max_allowed_packet=1000M
- # sqlmode配置
- sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
- # 忽略大小写
- lower_case_table_names=1
- # 查看状态
- systemctl status mysqld
- # 启动
- systemctl start mysqld
- # 停止
- systemctl stop mysqld
- # 重启
- systemctl restart mysqld
关闭权限认证:
setenforce 0
查看服务状态:
systemctl status mysqld
停止服务:
systemctl stop mysqld
安装依赖:
yum install -y libaio
若缺失以上依赖,初始化mysql会出现以下报错:
初始化数据库:
mysqld --initialize --console
目录授权:
chown -R mysql:mysql /var/lib/mysql/
服务启动:
systemctl start mysqld
cat /var/log/mysqld.log
mysql -u root -p
输入密码直接回车即可,密码不会显示出来
alter USER 'root'@'localhost' IDENTIFIED BY '123456';
- show databases;
- use mysql;
- select host, user, authentication_string, plugin from user;
- update user set host = '%' where user='root';
- select host, user, authentication_string, plugin from user;
- flush privileges;
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- firewall-cmd --reload
云服务器在安全组中配置放行规则即可。
若使用navicat远程连接出现:2059 - Authenticationplugin‘caching_sha2_password’ cannot be loaded:XXXXX。
解决办法:
- mysql -u root -p
- use mysql;
- alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
- flush privileges;
注:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决问题方法有两种:
方法1.升级navicat驱动;
方法2.把mysql用户登录密码加密规则还原成mysql_native_password.。
此处我使用的是方法2。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。