如何在CentOS中安装MySQL|青训营笔记

175 阅读3分钟

这是我参与

「第四届青训营」笔记创作活动的第14天

1. 下载MYSQL

先安装platform-and-version-specific-package-name格式的包

可以在官网寻找需要的rpm文件

安装命令为

$> sudo yum install mysql80-community-release-el7-4.noarch.rpm

还有另一种方式*wget*来安装

$> wget https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el8-4.noarch.rpm
https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm
$> yum localinstall yum/mysql80-community-release-el7-{version-number}.noarch.rpm

安装完成之后 可以使用

$> yum repolist enabled | grep "mysql.*-community.*"   来查看是否下载成功

2. 选择MYSQL安装版本

MYSQL默认安装的是最新的版本,如果需要更换版本,可以在文件/etc/yum.repos.d/mysql-community.repo中进行相关设置

只需要在对应版本中的enable设置为1,其他版本设置为0即可

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

通过运行以下命令并检查其输出来验证是否已启用和禁用正确的子存储库

$> sudo yum install mysql-community-server

3. 安装MYSQL

centOS 8可能遇到问题解决办法:Linux系统中自带的MySQL会影响自己安装的版本

yum module disable mysql

通过以下命令安装 MySQL

$> sudo yum install mysql-community-server

这将安装 MySQL 服务器的软件包 ( mysql-community-server) 以及运行服务器所需的组件的软件包,包括客户端的软件包 ( mysql-community-client)、客户端和服务器的常见错误消息和字符集 ( mysql-community-common) 以及共享的客户端库 ( mysql-community-libs) .

4. 启动MYSQL

使用以下命令启动 MySQL 服务器:

$> systemctl start mysqld

您可以使用以下命令检查 MySQL 服务器的状态:

$> systemctl status mysqld

在服务器初始启动时,假设服务器的数据目录为空,会发生以下情况:

  • 服务器已初始化。
  • SSL 证书和密钥文件在数据目录中生成。
  • validate_password 已安装并启用。
  • 创建了一个超级用户帐户'root'@'localhost。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:
$> sudo grep 'temporary password' /var/log/mysqld.log
$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

5. 登录之后可以更改密码设置策略

使用以下代码可以查看当前数据库的密码策略

mysql> SHOW VARIABLES LIKE 'validate_password%';

可以将validate_password.policy设置为LOW,使用简单的密码进行登录

6. 用户操作命令

创建用户

create user 'xxxx用户名'@'%' identified by 'xxxx密码';

给予用户操作权限

grant   on database_name.table_name to 'user_name'@'host_name'

privileges:用户操作权限

例如select update insert delete

全部赋予可以使用all

database_name.table_name 对应的库民和表名,可以使用通配符*


修改用户名称

rename user 'user_name'@'host_name' to 'new_user_name'@'host_name'

修改密码

alter user 'user_name'@'host_name' identified by 'new_password'

撤销权限

revoke privilege on database_name.table_name from 'user_name'@'host_name'

删除用户

drop user 'user_name'@'host_name'

7. 在linux中使用C++连接mysql

需要头文件#include <mysql/mysql.h>

头文件位置在/usr/include/mysql 文件夹中

使用VS编写Linux程序,可以将VS连接到Linux上,却出现了VS IDE中找不到 #include <sys/socket.h>这类系统头文件的情况,可以将Linux中 /usr/include/ 目录 手动拷贝到windows的 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\Linux\include\usr\ 位置

简单粗暴。

查看头文件目录和库文件目标的命令

$> mysql_config --cflags
$> mysql_config --libs

8.启动与关闭jar包

启动:

直接启动java -jar XXX.jar
后台挂起运行:nohup java -jar XXX.jar &
输出日志文件nohup.out

关闭:

查看端口id: netstat -nlp || netstat -ntulp
关闭进程:kill -9 ID