linux小知识--CentOS7安装配置开发Mysql全过程(一)

嵌入式的软件开发多了,就开始习惯用配置文件来保存内容,不过现在设备资源丰富了,甚至有些内容在X86平台上开发,那么数据库自然就也可以作为存储软件,接入到程序当中了,能吃的了生活的哭,也得能享受生活的甜啊
在这里插入图片描述

安装mysql

下载并安装MySQL官方的 Yum Repository

[root@localhost mysql]# wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
--2021-10-11 11:27:29--  http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
正在解析主机 dev.mysql.com (dev.mysql.com)... 137.254.60.11
正在连接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [跟随至新的 URL]
--2021-10-11 11:27:29--  https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
正在连接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://repo.mysql.com//mysql57-community-release-el7-10.noarch.rpm [跟随至新的 URL]
--2021-10-11 11:27:30--  https://repo.mysql.com//mysql57-community-release-el7-10.noarch.rpm
正在解析主机 repo.mysql.com (repo.mysql.com)... 104.86.185.42
正在连接 repo.mysql.com (repo.mysql.com)|104.86.185.42|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:25548 (25K) [application/x-redhat-package-manager]
正在保存至: “mysql57-community-release-el7-10.noarch.rpm”

100%[===================================================================================================================================================================================================>] 25,548       139KB/s 用时 0.2s   

2021-10-11 11:27:31 (139 KB/s) - 已保存 “mysql57-community-release-el7-10.noarch.rpm” [25548/25548])

然后就可以yum进行安装了

yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

启动mysql

执行下面命令启动mysql

systemctl start  mysqld.service

然后执行下面命令查看mysql状态

[root@localhost mysql]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2021-10-11 09:56:00 CST; 1s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 21414 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 21314 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 21416 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─21416 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

1011 09:55:53 localhost.localdomain systemd[1]: Starting MySQL Server...
1011 09:56:00 localhost.localdomain systemd[1]: Started MySQL Server.

设置开机启动

systemctl enable  mysqld.service

然后可以重启机器,测试一下是否自动启动了
在这里插入图片描述

配置Mysql

1.修改密码
首先通过命令获取默认密码

[root@localhost mysql]# grep "password" /var/log/mysqld.log
2021-10-11T01:55:56.233557Z 1 [Note] A temporary password is generated for root@localhost: qN_V/?bwb1%Q

可以看到默认密码是一串随机字符串:qN_V/?bwb1%Q
然后我们登陆mysql命令行

[root@localhost mysql]# mysql -uroot -p
Enter password: 

此处输入密码:qN_V/?bwb1%Q
然后进入mysql命令行。

修改密码用如下指令

ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXXxxx123456!@#';

默认的密码需要大小写字母,数字和符号组成,如果我们嫌密码太长太复杂,可以通过修改密码强度等级,来允许自己配置简单密码。(不过并不推荐,因为太容易被人破解)
在这里插入图片描述
以下操作请在大人陪同下进行
在这里插入图片描述

执行密令

SHOW VARIABLES LIKE 'validate_password%';

可以看到当前的密码配置参数
在这里插入图片描述
关于 mysql 密码策略相关参数;

名称含义
validate_password_check_user_name设置为ON的时候表示能将密码设置成当前用户名
validate_password_dictionary_file指定密码验证的字典文件路径
validate_password_length固定密码的总长度
validate_password_mixed_case_count整个密码中至少要包含大/小写字母的总个数
validate_password_number_count整个密码中至少要包含阿拉伯数字的个数
validate_password_policy指定密码的强度验证等级,默认为 MEDIUM
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
validate_password_special_char_count整个密码中至少要包含特殊字符的个数

所以如果想要设置弱密码,可以将validate_password_policy修改为LOW

mysql>set global validate_password_policy=LOW;
mysql> flush privileges;

2.修改可以外部访问
这个也仅限于开发阶段进行这种操作,方便查看数据修改情况,后续肯定是要关闭或者做其他安全配置的。
同样,以下操作需要在大人陪同下进行
在这里插入图片描述

首先要配置mysql

mysql> grant all privileges on *.* to 'root'@'%' identified by 'XXXxxx123456!@#' with grant option;
mysql> flush privileges;

然后修改防火墙

[root@localhost mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent; firewall-cmd --reload

3.修改编码方式
首先查看默认编码方式,采用命令status
在这里插入图片描述
可以看到默认的latin1编码
修改方式

[root@localhost mysql]# vi /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[client]
default-character-set=utf8
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
collation-server=utf8_general_ci

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

增加了四行。
[client]
default-character-set=utf8

character-set-server=utf8
collation-server=utf8_general_ci

然后重启mysql

systemctl restart  mysqld.service

再次查看编码方式
在这里插入图片描述
搞定
在这里插入图片描述

测试工具推荐使用Navicat Premium,可以方便的以图形化的界面来查看mysql数据库。
在这里插入图片描述
这篇主要是介绍如何安装配置mysql,接下来还会介绍如何进行C语言环境下mysql的API调用,即实现快速访问,同时还会关注多进程多线程的并发问题。
今天开会,为了得到老板的肯定,领导要求延迟下班,却没说有什么好处,我想现在画饼也太真实了吧,怕我们肠胃不好,连饼都不画了,自己去想象吧
在这里插入图片描述
这也就是我所说的,学习是打工的第一要务的主要原因
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖哥王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值