centOS7安装MySQL教程
⼀、yum⽅式安装
1.由于centOS7中默认安装了MariaDB,需要先进⾏卸载
rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
新增:经实践在使⽤yum⽅式安装MySQL时不⽤卸载也可以,会被⾃动替代通过rpm⽅式安装需要卸载,否则会出现依赖问题查询下本机mysql是否卸载⼲净
rpm -qa | grep mysql
若有残留也需要卸载
2.下载MySQL仓库并安装
wget sql//arch.rpm
yum -y arch.rpm
3.默认安装MySQL8.0,如果需要安装MySQL5.7的话需要修改/pos.po配置⽂件
将mysql80中enabled属性改为0,并添加图中红框内代码(安装MySQL8.0跳过该步骤)
4.安装MySQL数据库
yum -y install mysql-community-server
5.开启mysql服务
systemctl start mysqld.service
6.查看mysql默认密码并登陆
cat /var/log/mysqld.log | grep password
mysql -uroot -p
⼆、rpm⽅式安装
⾸先去官⽹下载完整rpm包
下载mysql5.7的话点击这⾥跳转⾄下载页⾯
解压tar包
依次安装所需要的rpm包即可
rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-compat-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm
gcc编译器收费吗rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm
安装完成后可以查看下已安装的组件
rpm -qa | grep mysql
之后mysql的配置同上所述
相关软件包(根据需要安装即可)
mysql-community-client-5.7.18-1.el7.x86_64.rpm 客户端
printf输出格式%bmysql-community-devel-5.7.18-1.el7.x86_64.rpm 开发库
mysql-community-embedded-5.7.18-1.el7.x86_64.rpm 嵌⼊式
mysql-community-server-5.7.18-1.el7.x86_64.rpm 服务端
mysql-community-libs-5.7.18-1.el7.x86_64.rpm 共享库
mysql-community-test-5.7.18-1.el7.x86_64.rpm 测试组件
三、MySQL相关配置修改
1.修改初始密码(若想改为弱密码)
SHOW variables LIKE 'validate_password%';
注:有可能遇到如下图情况,此时先修改密码为强密码,便可以继续进⾏修改密码验证策略操作
将密码验证策略改为LOW,密码长度4位以上
1 set global validate_password.policy=0;
2 set global validate_password.length=4; #重启MySQL后失效
此时再进⾏修改密码操作,可以修改为弱密码了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
以后便可以使⽤你⾃⼰设置的密码登陆
2.设置远程连接(前提:关闭防⽕墙或开放3306端⼝)
在实际⼯作中,经常会⽤到诸如DBeaver等的数据库管理⼯具进⾏远程连接mysql数据库,需要设置允许远程连接。
在mysql数据库的user表中查看host,默认只允许localhost访问
只需将localhost改为%允许任意地址访问即可
update user set host = '%' where user = 'root';
flush privileges; # 刷新权限权限更新后刷新才会起作⽤
注:如果使⽤客户端连接提⽰了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password(MySQL5.7⽆此问题)
update user set plugin = 'mysql_native_password' where user = 'root';
event是什么词性flush privileges; # 刷新权限权限更新后刷新才会起作⽤
如果使⽤DBeaver建⽴MySQL 8+连接,⽆需修改默认密码策略,但可能会提⽰Public Key Retrieval is not allowed错误
这是因为MySQL8.0的密码策略默认为caching_sha2_password认证,密码在传输过程中必须使⽤ SSL 协议保护,但是如果 RSA 公钥不可⽤,可以使⽤服务器提供的公钥;需要修改AllowPublicKeyRetrieval=True参数以允许客户端从服务器获取公钥,在Dbeaver的修改如下:
修改完成后可以正确建⽴远程连接
前⾔:若使⽤rpm⽅式安装,可能⽆/etc/myf配置⽂件,需将/usr/share/mysql⽬录下配置⽂件复制⾄/etc⽬录下
cp /usr/share/mysql/my-largef /etc/myf
[client]
port = 3306
socket = /var/run/mysql/mysql.sock
[mysqldump]
quick
max_allowed_packet = 16M
rank函数每个参数的概念以上参数会被MySQL 客户端应⽤读取,参数说明如下:
port:MySQL 客户端连接服务器端时使⽤的端⼝号,默认为 3306
socket:套接字⽂件所在⽬录
quick:⽀持较⼤的数据库转储,导出⾮常巨⼤的表时需要此项。
max_allowed_packet:服务所能处理的请求包的最⼤⼤⼩以及服务所能处理的最⼤的请求⼤⼩(当与⼤的BLOB字段⼀起⼯作时相当必要),每个连接独⽴的⼤⼩,⼤⼩动态增加。
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /mydata/mysql/data
port = 3306
server-id = 1
socket = /var/run/mysql/mysql.sock
上述参数说明如下:
user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执⾏。mysqld 必须从 root 账户启动才能在启动后切换到另⼀个账户下执⾏。mysqld_safe 脚本将默认使⽤ user=mysql 选项来启动 mysqld 程序。
basedir:指定 MySQL 安装的绝对路径;
datadir:指定 MySQL 数据存放的绝对路径;
port:服务端⼝号,默认为 3306
server-id:MySQL 服务的唯⼀编号,每个 MySQL 服务的 id 需唯⼀。
socket:socket ⽂件所在⽬录
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'
lower_case_table_names = 1
key_buffer_size = 16M
max_allowed_packet = 8M
no-auto-rehash
sql_mode=TRADITIONAL
skip-grant-tables
character-set-server:数据库默认字符集
collation-server:数据库字符集对应⼀些排序等规则,注意要和character-set-server对应
init_connect:设置client连接mysql时的字符集,防⽌乱码
lower_case_table_names:是否对sql语句⼤⼩写敏感,1表⽰不敏感(MySQL8.0+需要初始化之前设置)
key_buffer_size:⽤于指定索引缓冲区的⼤⼩
max_allowed_packet:设置⼀次消息传输的最⼤值
no-auto-rehash:仅仅允许使⽤键值的UPDATES和DELETES
sql_mode:表⽰ SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
skip-grant-tables:跳过密码验证 (平时不要开启,忘记root密码时再使⽤)
忘记root密码时:
重置root密码为空(开启skip-grant-tables)
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
推荐⼀个不错的Mysql教程⽹站:c.biancheng/mysql/
数据库(Database)指长期存储在计算机内的、有组织的、可共享的数据集合。数据库实际上就是⼀个⽂件集合,是⼀个存储数据的仓库,本质就是⼀个⽂件系统,按照特定的格式把数据存储起来。
数据库管理系统(DBMS)是数据库系统的核⼼软件之⼀,是位于⽤户与操作系统之间的数据管理软件,⽤于建⽴,使⽤和维护数据库。它的主要功能包括数据定义、数据操作、数据库的运⾏管理、数据库的建⽴和维护等⼏个⽅⾯。
我们常说 XX 数据库,其实实质上是 XX 数据库管理系统。⽬前,较为流⾏的数据库管理系统有 MySQL、SQL Server、Oracle 和 DB2 等。
关系型数据库
关系型数据库是建⽴在关系模型基础上的数据库,借助于集合代数等数学概念和⽅法来处理数据库中的数据。简单说,关系型数据库是由多张能互相连接的表组成的数据库。
优点
1. 都是使⽤表结构,格式⼀致,易于维护。
2. 使⽤通⽤的 SQL 语⾔操作,使⽤⽅便,可⽤于复杂查询。
完全二叉树的中序序列3. 数据存储在磁盘中,安全。
缺点
1. 读写性能⽐较差,不能满⾜海量数据的⾼效率读写。
2. 不节省空间。因为建⽴在关系模型上,就要遵循某些规则,⽐如数据中某字段值即使为空仍要分配
空间。
3. 固定的表结构,灵活度较低。
mysql入门基础教程常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access和MySQL等。
⾮关系型数据库
⾮关系型数据库⼜被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,⽽对象之间的关系通过每个对象⾃⾝的属性来决定。
优点
1. ⾮关系型数据库存储数据的格式可以是 key-value 形式、⽂档形式、图⽚形式等。使⽤灵活,应⽤场景⼴泛,⽽关系型数据库则只⽀持基础类型。
2. 速度快,效率⾼。 NoSQL 可以使⽤硬盘或者随机存储器作为载体,⽽关系型数据库只能使⽤硬盘。
3. 海量数据的维护和处理⾮常轻松。
4. ⾮关系型数据库具有扩展简单、⾼并发、⾼稳定性、成本低廉的优势。
5. 可以实现数据的分布式处理。
缺点
1. ⾮关系型数据库暂时不提供 SQL ⽀持,学习和使⽤成本较⾼。
2. ⾮关系数据库没有事务处理,没有保证数据的完整性和安全性。适合处理海量数据,但是不⼀定安全。
3. 功能没有关系型数据库完善。
常见的⾮关系型数据库有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论