MySQL三种安装方法(yum安装、编译安装、二进制安装)
mysql安装
- 一、yum安装方式
- 二、编译安装方式
- 三、二进制安装方式
切记:一定要关闭防火墙和selinux!!!
服务器配置:2C4G即可,一台
一、yum安装方式
mysql的官方网站:www.mysql.com
中文官网:https://www.mysql.com/cn/
1、下载mysql的yum源
[root@mysql-server ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
//或者下载到本地再上传到服务器
2、安装mysql的yum仓库
[root@mysql-server ~]# yum -y install mysql80-community-release-el7-7.noarch.rpm
[root@mysql-server ~]# yum -y install yum-utils //安装yum工具包
3、配置yum源
[root@mysql-server ~]# vim /etc/yum.repos.d/mysql-community.repo
//修改如下
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=1 #主要是把这里修改成1
...[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
enabled=0 #主要是把这里修改成0
...//1表示开启,0表示关闭或者
[root@mysql-server ~]# yum-config-manager --enable mysql57-community //将禁用的yum源库启用
[root@mysql-server ~]# yum-config-manager --disable mysql80-community //将启用的yum源库禁用
//这种方式可以用在安装mysql脚本中,非常方便!!
4、安装数据库
[root@mysql-server ~]# yum install -y mysql-community-server
//默认是安装最新版本的
[root@mysql-server ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.43, for Linux (x86_64) using EditLine wrapper
//启动服务
[root@mysql-server ~]# systemctl start mysqld
[root@mysql-server ~]# netstat -ntlp|grep mysql
tcp6 0 0 :::3306 :::* LISTEN 9948/mysqld
//设置开机启动
[root@mysql-server ~]# systemctl enable mysqld
5、查找密码
//密码保存在日志文件中
[root@mysql-server ~]# grep password /var/log/mysqld.log
2023-10-10T11:32:08.314934Z 1 [Note] A temporary password is generated for root@localhost: _!2g*Hb/:R.D
6、修改密码
两种方式:
第一种:登录数据库后操作
[root@mysql-server ~]# mysql -uroot -p'_!2g*Hb/:R.D' //登录
...
mysql> alter user 'root'@'localhost' identified by 'Jlting@123';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye[root@mysql-server ~]# mysql -uroot -p'Jlting@123'
...
mysql>
第二种:免入库修改密码,直接在命令行中修改
mysqladmin -u root -p’旧密码’ password ‘新密码’
注:修改密码必须要有大小写、数字和特殊符号,因为mysql默认有密码策略。
如果忘记密码了,可以在配置文件中加上一行配置,跳过密码验证
[root@localhost ~]# vim /etc/my.cnf
[mysqld] //在mysqld标签下
skip-grant-tables //添加这一行,跳过密码验证
//意思就是跳过授权表,即可以跳过密码验证直接进入数据库
//修改完配置文件需要重启服务才能生效
[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# mysql -uroot -p
Enter password: //直接回车
...
mysql>
二、编译安装方式
编译安装也叫源码安装
与二进制(RPM)发行版本相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
a、针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
b、根据不同的软件平台环境调整相关的编译参数;
c、针对我们特定应用场景选择需要什么组件不需要什么组件;
d、根据我们的所需要存储的数据内容选择只安装我们需要的字符集(utf-8);
e、同一台主机上面可以安装多个MySQL;
在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
a、对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
b、对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
c、还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;
1、清理安装环境
[root@mysql-server ~]# yum erase -y mariadb mariadb-server mariadb-libs mariadb-devel
[root@mysql-server ~]# userdel -r mysql
[root@mysql-server ~]# rm -rf /etc/my*
[root@mysql-server ~]# rm -rf /var/lib/mysql
2、创建mysql用户
[root@mysql-server ~]# useradd -r mysql -M -s /bin/false
参数解释
-r 参数表示创建系统用户。系统用户不需要登录shell。并且会分配高的UID号 mysql 指定要创建的用户账号名。
-M 参数表示不创建用户主目录。
-s 参数指定用户的登录shell,/bin/false 表示不允许登录。
3、从官网下载tar包
[root@mysql-server ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz
或:
[root@mysql-server ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.34.tar.gz
4、安装编译工具
[root@mysql-server ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
5、创建mysql目录
[root@mysql-server ~]# mkdir -p /usr/local/mysql
6、解压
[root@mysql-server ~]# tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/
注:如果安装的MySQL5.7及以上的版本,在编译安装之前需要安装boost,因为高版本mysql需要boots库的安装才可以正常运行。否则会报CMake
Error at cmake/boost.cmake:81错误
mysql-boost-5.7.27.tar.gz该安装包里面自带boost包
7、编译安装
//cd 解压的mysql目录开始编译安装
[root@mysql-server ~]# cd /usr/local/mysql-5.7.27/
[root@mysql-server mysql-5.7.27]# cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
//提示:boost也可以使用如下指令自动下载,如果不下载boost压缩包,把下面的这一条添加到配置中第二行
-DDOWNLOAD_BOOST=1/
参数详解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //安装目录
-DSYSCONFDIR=/etc \ //配置文件存放 (默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \ //数据目录,错误日志文件也会在这个目录
-DINSTALL_MANDIR=/usr/share/man \ //帮助文档
-DMYSQL_TCP_PORT=3306 \ //默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ //sock文件位置,用来做网络通信的,客户端连接服务器的时候用
-DDEFAULT_CHARSET=utf8 \ //默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS=all \ //扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \ //默认字符集为utf8;默认校对规则为utf8_general_ci
-DWITH_READLINE=1 \ //上下翻历史命令
-DWITH_SSL=system \ //使用私钥和证书登陆(公钥) 可以加密。 适用与长连接。坏处:速度慢
-DWITH_EMBEDDED_SERVER=1 \ //编译并启用嵌入式MySQL服务器
-DENABLED_LOCAL_INFILE=1 \ //从本地倒入数据,不是备份和恢复。
-DWITH_INNOBASE_STORAGE_ENGINE=1 //编译并启用InnoDB存储引擎,支持外键[root@mysql-server mysql-5.7.27]# make && make install
如果安装出错,想重新安装:不用重新解压,只需要删除安装目录中的缓存文件CMakeCache.txt需要很长的时间!大约半小时!!
8、初始化:初始化只需要初始化一次!
[root@mysql-server mysql-5.7.27]# cd /usr/local/mysql
[root@mysql-server mysql]# chown -R mysql.mysql .
[root@mysql-server mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
//--user=mysql:指定mysqld服务器运行的用户为mysql
//--basedir=/usr/local/mysql:指定MySQL的安装目录
//--datadir=/usr/local/mysql/data:指定MySQL数据文件存放的目录
初始化完成之后,一定要记住提示最后的密码用于登陆或者修改密码!!!编辑mysql配置文件
[root@mysql-server ~]# vim /etc/my.cnf
//将文件中所有内容注释掉在添加如下内容
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql //指定安装目录
datadir = /usr/local/mysql/data //指定数据存放目录
socket = /tmp/mysql.sock
character_set_server = utf8
//参数详解:
[client]
#客户端默认连接端口
port = 3306
#用于本地连接的socket套接字
socket = /tmp/mysql.sock
#编码
default-character-set = utf8
[mysqld]
#服务端口号,默认3306
port = 3306
#mysql启动用户
user = mysql
#mysql安装根目录
basedir = /usr/local/mysql
#mysql数据文件所在位置
datadir = /usr/local/mysql/data
#为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket = /tmp/mysql.sock
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character_set_server = utf8
9、启动mysql
[root@mysql-server ~]# cd /usr/local/mysql
[root@mysql-server mysql]# ./bin/mysqld_safe --user=mysql &
//mysqld_safe脚本的作用是:先检查一些参数然后使用--user指定的用户来启动mysqld服务并监控mysqld服务,一旦mysqld宕机就会自动重新启动
//查看端口
[root@mysql-server mysql]# netstat -ntlp|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 22226/mysqld
10、登录mysql
[root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -p'zSRB*h)z+58o'
//一定要有引号,单引和双引都可以!!!因为有一些特殊字符需要被定义为一个整体的字符串
//不加引号的结果:
[root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -pzSRB*h)z+58o
-bash: 未预期的符号 `)' 附近有语法错误
//登录后的界面
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.27 #数据库版本号
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
11、修改密码
[root@mysql-server mysql]# /usr/local/mysql/bin/mysqladmin -u root -p'zSRB*h)z+58o' password 'JLTing@22897'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
//并不是报错,而是警告,告诉你密码在命令行中明文显示有风险
12、添加环境变量
[root@mysql-server mysql]# vim /etc/profile ---添加如下
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
//参数解释:$PATH :表示使用当前已经设置的PATH值。PATH值是系统找可执行程序(binaries)和脚本(scripts)的路径(路径列表);执行这条命令就可以保留当前已经设置的PATH路径(例如:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
[root@mysql-server bin]# echo $PATH //可以用这个命令查看当前设置路径值
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
// $HOME/bin : 用户的 bin目录,通常包含用户自己安装的命令。
// /usr/local/mysql/bin :MySQL可执行文件的路径。
[root@mysql-server mysql]# source /etc/profile
//之后就可以在任何地方使用mysql命令登陆Mysql服务器
[root@mysql-server bin]# mysql
mysql mysql_config_editor mysqlimport mysql_ssl_rsa_setup
[root@mysql-server mysql]# mysql -uroot -p'JLTing@22897'
...
mysql> show databases; //注意是复数形式
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>exit //或使用\q也能退出
13、配置mysqld服务的管理工具
[root@mysql-server mysql]# cd /usr/local/mysql/support-files/
[root@mysql-server support-files]# cp mysql.server /etc/init.d/mysqld
//mysql.server:MySQL服务器初始化及启动、停止脚本
//设置开机自启
[root@mysql-server support-files]# chkconfig --add mysqld
//--add 参数表示添加一个服务到 chkconfig管理中
[root@mysql-server support-files]# chkconfig mysqld on
//可以使用以下命令查看开机自启是否设置成功
[root@mysql-server support-files]# systemctl is-enabled mysqld.service
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld --level=5
enabled
//或者使用以下命令也可以:
[root@mysql-server support-files]# chkconfig --list mysqld
注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 ‘systemctl list-unit-files’。查看在具体 target 启用的服务请执行’systemctl list-dependencies [target]'。
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
表示MySQL已经设为在运行级别2、3、4、5自动启动。
//先将原来的进程杀掉
[root@mysql-server support-files]# pkill mysqld
//或者
[root@mysql-server support-files]# ps -ef|grep mysql
//再kill对应的pid
//启动mysqld
[root@mysql-server support-files]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@mysql-server support-files]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::3306 :::* LISTEN 22656/mysqld
//停止mysqld
[root@mysql-server support-files]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
14、托管到systemd服务管理工具中启动服务
[root@mysql-server ~]# vim /lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000 //设置操作系统默认允许mysql进程最大打开文件的数量
参数解释
[Unit]:以systemd为基础的Linux系统中每个服务的类别
Description: 给MySQL服务提供一个描述 After: 设置MySQL依赖的服务是network.target,即网络服务
[Service]:服务配置模块
Type: 将MySQL服务的类型设置为forking,即有子进程
ExecStart:用/etc/rc.d/init.d/mysqld start来启动MySQL服务
ExecReload:用/etc/rc.d/init.d/mysqld restart来重启MySQL服务
ExecStop:用/etc/rc.d/init.d/mysqld stop来停止MySQL服务
PrivateTmp:给MySQL分配私有的临时文件夹
[Install]:
WantedBy: 设置MySQL服务属于multi-user.target,即属于多用户目标。
重新加载systemd系统和服务管理器。当修改systemd的服务文件时(比如mysqld.service文件),需要使用systemctl daemon-reload
来让修改生效。
[root@mysql-server ~]# systemctl daemon-reload
[root@mysql-server ~]# systemctl restart mysqld
[root@mysql-server ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::3306 :::* LISTEN 22924/mysqld
[root@mysql-server ~]# systemctl enable mysqld.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@mysql-server ~]# systemctl is-enabled mysqld.service
enabled
至此,数据库编译安装完成!
三、二进制安装方式
二进制安装和编译安装的区别:编译安装需要经过自行编译过后,才能得到二进制(可执行)文件,而二进制安装是直接下载官网已经编译好的二进制文件(executables和libraries),直接使用即可,无需自己编译
1、下载二进制包
[root@mysql-server ~]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
2、添加用户
[root@mysql-server ~]# groupadd -g 27 mysql && useradd -g 27 -u 27 -M -s /sbin/nologin mysql
[root@mysql-server ~]# id mysql
uid=27(mysql) gid=27(mysql) 组=27(mysql)
[root@mysql-server ~]# tar xzvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz -C /usr/local
[root@mysql-server ~]# mv /usr/local/mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql
//授权属主和属组
[root@mysql-server ~]# chown -R mysql:mysql /usr/local/mysql
//创建日志文件并授权
[root@mysql-server ~]# touch /var/log/mysql.log && chown mysql:mysql /var/log/mysql.log
3、编辑配置文件
[root@mysql-server ~]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
port=3306
default-storage-engine = innodb
innodb_large_prefix=on
innodb_file_per_table = on
max_connections = 10000
collation-server = utf8_general_ci
character_set_server=utf8
user=mysql
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8
[mysqld_safe]
log-error=/var/log/mysql.log
参数解释
[mysqld] //mysql服务相关的配置
basedir=/usr/local/mysql #MySQL安装目录
datadir=/usr/local/mysql/data #数据库数据文件存放目录
socket=/usr/local/mysql/data/mysql.sock #MySQL使用的Unix socket文件路径;mysql socket的作用:用于应用程序间的通信。让本地客户端优先使用socket文件连接,获得更好的性能。限制只有有权限访问该socket文件的进程才能连接MySQL,提高安全性
port=3306 #MySQL监听的TCP/IP 端口号
default-storage-engine = innodb #默认的存储引擎,这里使用的是Innodb
innodb_large_prefix=on #启用Innodb的大VARCHAR和TEXT列,开启后支持更长的列和索引;不开启此参数时,InnoDB支持的VARCHAR最大长度为255字节,TEXT最大长度为65535字节。开启此参数后,InnoDB支持的VARCHAR最大长度提升到65535字节,TEXT最大长度提升到163830字节。
innodb_file_per_table = on #开启每个表使用单独的表空间文件
max_connections = 10000 #最大允许的并发连接数
collation-server = utf8_general_ci #设置MySQL服务器(全局)的默认字符集和校对规则。utf8:表示字符集为utf8,可以表示绝大部分的国际字符;_general_ci:表示校对规则为utf8_general_ci, 其中:general:表示最常用的比较规则,ci:表示忽略字符大小写(case insensitive)
character_set_server=utf8 #设置了MySQL服务器(整个实例)的默认字符集。
//MySQL支持很多种字符集,例如:utf8:多字节字符集,支持绝大部分国际字符latin1:单字节字符集,只支持西欧语言字符gbk:支持简体中文字符big5:支持繁体中文字符
user=mysql //MySQL服务运行的用户
[client] //客户端配置
port = 3306 #(在[client]部分)表示客户端连接MySQL时使用的端口
socket = /usr/local/mysql/data/mysql.sock #(在[client]部分)表示客户端连接MySQL时使用的Unix socket文件路径
default-character-set = utf8 #(在[client]部分) 表示客户端连接时使用的默认字符集
[mysqld_safe] //[mysqld_safe]部分是针对MySQL的mysqld_safe启动脚本的配置
log-error=/var/log/mysql.log #指定mysqld_safe脚本的日志文件路径为/var/log/mysql.log。
4、添加环境变量
[root@mysql-server ~]# cat >>/etc/profile<<EOF
export PATH=\${PATH}:/usr/local/mysql/bin
EOF
[root@mysql-server ~]# source /etc/profile
//或者
[root@mysql-server ~]# echo 'export PATH=${PATH}:/usr/local/mysql/bin'>>/etc/profile
[root@mysql-server ~]# source /etc/profile
//或者
[root@mysql-server ~]# ln -s /usr/local/mysql/bin/mysql /usr/sbin/mysql[root@mysql-server ~]# whereis mysql
mysql: /usr/lib64/mysql /usr/local/mysql /usr/share/mysql /usr/local/mysql/bin/mysql
[root@mysql-server ~]# which mysql
/usr/local/mysql/bin/mysql
5、初始化数据库,产生随机初始登录密码,在最后一行
[root@mysql-server ~]# mysqld --initialize --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
2023-10-10T12:28:00.554234Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-10-10T12:28:00.706131Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-10-10T12:28:00.742466Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-10-10T12:28:00.805015Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 738e9da6-6768-11ee-b446-000c295e8b83.
2023-10-10T12:28:00.805493Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-10-10T12:28:01.103679Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2023-10-10T12:28:01.103693Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2023-10-10T12:28:01.104128Z 0 [Warning] CA certificate ca.pem is self signed.
2023-10-10T12:28:01.195887Z 1 [Note] A temporary password is generated for root@localhost: )E7Pb?a!odyr
6、添加启动脚本
[root@mysql-server ~]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#设置操作系统默认允许mysql进程最大打开文件的数量
7、更新自启动服务,查看工作端口
#重新加载systemd管理器的unit配置文件
[root@mysql-server ~]# systemctl daemon-reload
[root@mysql-server ~]# systemctl enable --now mysql.service
[root@mysql-server ~]# systemctl restart mysql
[root@mysql-server ~]# systemctl enable mysql
[root@mysql-server ~]# netstat -ntpl | grep "3306"
8、登录
[root@mysql-server ~]# mysql -u root -p')E7Pb?a!odyr'
9、修改登录密码
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)mysql> update mysql.user set password_expired='N'; //设置mysql库中的user表中的password_expired为No,意思就是设置密码不过期
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@mysql-server ~]# mysql -u root -p123456
为了方便后续使用,建议将三种安装方式写成脚本!
相关文章:

MySQL三种安装方法(yum安装、编译安装、二进制安装)
mysql安装 一、yum安装方式二、编译安装方式三、二进制安装方式 切记:一定要关闭防火墙和selinux!!! 服务器配置:2C4G即可,一台 一、yum安装方式 mysql的官方网站:www.mysql.com 中文官网&…...

《视觉 SLAM 十四讲》第 7 讲 视觉里程计1 【如何根据图像 估计 相机运动】【特征点法】
github源码链接V2 文章目录 第 7 讲 视觉里程计17.1 特征点法7.1.1 特征点7.1.2 ORB 特征FAST 关键点 ⟹ \Longrightarrow ⟹ Oriented FASTBRIEF 描述子 7.1.3 特征匹配 7.2 实践 【Code】本讲 CMakeLists.txt 7.2.1 使用 OpenCV 进行 ORB 的特征匹配 【Code】7.2.2 手写 O…...

9. 一个SpringBoot项目运行
新手如何运行一个SpringBoot项目 1.SpringBoot项目运行 新创建的SpringBoot项目如何运行 2.启动lombok注解 点击该按钮,启动lombok注解支持 3.展示说明...

如何实现chatGPT批量问答,不用token
一、背景 因为需要批量提取一本教材里的概念做成知识图谱,想用chatGPT做概念提取。 调用api?别想了… 免费帐户的api慢得一批于是想用模仿人类交互的方法来调用,本来想用pyautogui的,但是主要是与浏览器交互,还是用s…...

Arduino驱动LIS2DH三轴加速度传感器(惯性测量传感器篇)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 LIS2DH加速度计相对传统的ADXL345在稳定性以及功耗上都有一定的优化,低功耗模式下仅为2μA(普通模式11μA),并且最高支持5.3KHz输出频率,拥有2g/4g/8g/16g四档可选量程&...

B 开组会(可持久线段树+树剖) 武汉大学2023年新生程序设计竞赛(同步赛)
其实题目就是每次询问一个节点 在这个节点的基础上往下继续遍历t的深度,在这个遍历的过程中找一个最大值就行了 其实这个题目数据非常水,直接暴力就可以过了 下面是别人过的代码 #include<bits/stdc.h> using namespace std; const int mxn5e…...

vue的axios方法
Axios是Vue.js推荐使用的一个基于Promise的HTTP库,用于浏览器和Node.js中发送HTTP请求。它可以让我们更容易地与后端进行数据交互。 以下是Axios的基本用法: 安装Axios 在Vue项目中,可以使用npm来安装Axios: npm install axio…...

gitlab docker部署,备份,恢复。附踩坑记录
本次安装在CentOS7下进行 1、安装yum 检查是否已经安装yum yum --version如果未安装 sudo yum install -y yum-utils添加镜像源: 国外镜像源:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo阿里镜像源&am…...

2023品牌新媒体矩阵营销洞察报告:流量内卷下,如何寻找增长新引擎?
近年来,随着移动互联网的发展渗透,短视频、直播的兴起,新消费/新零售、兴趣电商/社交电商等的驱动下,布局线上渠道已成为绝大多数品牌的必然选择。 2022年,越来越多的品牌加入到自运营、自播的行列中,并且从…...

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Toggle
组件提供勾选框样式、状态按钮样式及开关样式。该组件从API Version 8开始支持。 仅当ToggleType为Button时可包含子组件。 一、接口 Toggle(options: { type: ToggleType, isOn?: boolean }) 从API version 9开始,该接口支持在ArkTS卡片中使用。 参数: Toggle…...

redis,mongoDB,mysql,Elasticsearch区别
Redis: Redis是一种高性能键值存储数据库,基于内存操作,支持数据持久化,支持数据类型丰富灵活,如字符串、哈希、列表、集合、有序集合等。Redis还提供了订阅/发布、事务、Lua脚本、主从同步等功能,适用于访…...

什么是软件测试架构师?
软件测试架构师是一个新职位,但确实是一个非常必要的职位,主要有几点: 1. 根据V模型、广义测试概念等,(静态)测试的越早,发现缺陷越早,越有利于产品的质量、加快产品开发周期、降低企业的成本。更重要预防…...

安科瑞ARB5系列弧光保护装置,智能电弧光保护,保障用电安全
安科瑞虞佳豪壹捌柒陆壹伍玖玖零玖叁 什么是弧光 电弧是放电过程中发生的一种现象,当两点之间的电压超过其工频绝缘强度极限时就会发生。当适当的条件出现时,一个携带着电流的等离子产生,直到电源侧的保护设备断开才会消失。空气在通常条件…...

查找算法——二分查找法
一、介绍 首先需要将查找的数据排好序,再进行二分查找法来进行查找,二分查找是将数据范围不断分割为两份,不断比较中间值与待查找值的大小来确定其在哪个区间范围的一种方法。例如:在一组数据(1,4ÿ…...

大数据——Spark Streaming
是什么 Spark Streaming是一个可扩展、高吞吐、具有容错性的流式计算框架。 之前我们接触的spark-core和spark-sql都是离线批处理任务,每天定时处理数据,对于数据的实时性要求不高,一般都是T1的。但在企业任务中存在很多的实时性的任务需求&…...

graphviz 绘制二叉树
代码 digraph BalancedBinaryTree {node [fontname"Arial", shapecircle, stylefilled, color"#ffffff", fillcolor"#0077be", fontsize12, width0.7, height0.7];edge [fontname"Arial", fontsize10, color"#333333", arr…...

STM32 PA15/JTDI 用作普通IO,烧录口不能使用问题解决
我们一般用SW调试接口 所以DEBUG选择Serial Wire 这样PA15可以用作普通IO使用。 工程中默认加上: PA13(JTMS/SWDIO).ModeSerial_Wire PA13(JTMS/SWDIO).SignalDEBUG_JTMS-SWDIO PA14(JTCK/SWCLK).ModeSerial_Wire PA14(JTCK/SWCLK).SignalDEBUG_JTCK-SWCLK...

【ARM Coresight 系列文章 9 -- ETM 介绍 1】
文章目录 ARM Coresight ETM 介绍1.1.1 ARM Coresight ETM 版本介绍1.1.2 ARM Coresight 常见术语1.2 ARM Coresight ETM 常用寄存器介绍1.2.1 TRCVIIECTLR(ViewInst Include-Exclude Control Register)1.2.2 TRCVISSCTLR(ViewInst Start/Stop Processing Element Comparator C…...

设计模式 - 中介者模式
目录 一. 前言 二. 实现 三. 优缺点 一. 前言 中介者模式又叫调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。 中介者模式可以使对象之间的关系数量急剧减少࿰…...

HttpServletRequest对象与RequestDispatcher对象
一、HttpServletRequest对象 1.介绍 在Servlet API中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用来封装HTTP请求消息。由于HTTP请求消息分为请求行、请求消息头和请求消息体三部分,因此,在…...

Spring Boot启动流程
加载启动类:加了SpringBootApplication的启动类的main 方法中,通过运行SpringApplication.run()方法启动 【SpringBootApplication是由EnableAutoConfiguration(导入自动配置AutoConfigurationSelector类从而加载加了Configuration的配置&am…...

ARM day5
三盏灯流水 .text .global _start _start: 1.LDR R0,0X50000A28LDR R1,[R0]ORR R1,R1,#(0X1<<4)STR R1,[R0] 1.LDR R0,0X50000A28LDR R1,[R0]ORR R1,R1,#(0X1<<5)STR R1,[R0] 2.LDR R0,0X50006000LDR R1,[R0]BIC R1,R1,#(0X3<<20)ORR R1,R1,#(0X1<<…...

流程引擎概述及组成
流程引擎概述及组成 一、流程引擎概述 流程,可以理解为步骤,一个有序的活动或动作; 引擎,可以理解为驱动,是一个程序或者一套系统。 所以,字面意思可以理解为,流程引擎是一套(或…...

定时任务Apscheduler实践案例
定时任务Apscheduler实践案例 参考文章 https://blog.csdn.net/weixin_44799217/article/details/127353134 实现案例 本案例是使用定时任务apscheduler实现的每个三分钟发送一次邮件的任务 实现代码 import time from apscheduler.schedulers.blocking import BlockingSched…...

C#学习系列相关之多线程(五)----线程池ThreadPool用法
一、线程池的作用 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管…...

京东数据接口|电商运营中数据分析的重要性
在电商运营中,数据分析是非常重要的一环,它可以帮助电商企业更好地了解市场、了解消费者、了解产品、了解销售渠道等各种信息,从而制定更为科学有效的运营策略,提高销售效益。 数据方面用户可以直接选择使用数据接口来获取&#…...

C++入门(1)
目录 1.C关键字2.命名空间(namespace)2.1是什么2.2为什么2.3怎么用 3.C输入&输出4.缺省函数概念分类 5.函数重载6.引用6.1概念6.2特性6.3使用场景6.4引用和指针的不同点 1.C关键字 C总共有63个关键字 这里入门不多说,有需要的自行去了解 2.命名空间(namespac…...

redis-6.2.7 集群安装3主3从
因为资源有限准备了3 台 服务器,先查看防火墙的端口是否开放,如果没有开放先开放端口我使用的 6379 和 6380 这两个端口 所以将这两个端口放开。去redis 官网下载redis 安装包。下载地址 : redis 安装包下载 3. 安装redis 上传上去之后 3 台…...

【动态库】Ubuntu 添加动态库的搜索路径
在运行程序时,经常遇到下面这种动态库加载失败的情况,这时往往是系统在动态库的搜索路径下没有找到对应的库文件导致的。 目录 一、使用 LD_LIBRARY_PATH 二、修改 /etc/ld.so.conf 一、使用 LD_LIBRARY_PATH 环境变量 LD_LIBRARY_PATH是动态库的搜索…...

95740-26-4|用于体内DNA合成的探针F-ara-EdU
产品简介:(2S)-2-Deoxy-2-fluoro-5-ethynyluridine,一种用于体内DNA合成的探针,其毒性比EdU和BrdU都小。当需要延长细胞存活时间和不受干扰的细胞周期进展时,非常适合进行代谢DNA标记。 CAS号:95740-26-4 分子式&…...