修改中文为英文
This commit is contained in:
263
source/_posts/linux/mysqlInstallation.md
Normal file
263
source/_posts/linux/mysqlInstallation.md
Normal file
@@ -0,0 +1,263 @@
|
||||
---
|
||||
title: mysql安装
|
||||
date: 2021-11-20
|
||||
updated: 2021-11-20
|
||||
tags:
|
||||
- mysql
|
||||
- linux
|
||||
categories:
|
||||
- linux
|
||||
- mysql
|
||||
keywords:
|
||||
- mysql
|
||||
- linux
|
||||
description: linux安装mysql
|
||||
top_img: https://i.loli.net/2021/09/30/YJLqn57mAe6vRNo.jpg
|
||||
comments: true
|
||||
cover: https://i.loli.net/2021/09/30/YJLqn57mAe6vRNo.jpg
|
||||
copyright: true
|
||||
copyright_author: xzh
|
||||
copyright_author_href: http://xxzhx.cn
|
||||
copyright_url: http://xxzhx.cn
|
||||
copyright_info: 著作权归作者所有。商业转载请联络作者获得授权,非商业转载请注明出处。
|
||||
---
|
||||
|
||||
# mysql安装
|
||||
|
||||
## 检查是否安装`mariadb`
|
||||
|
||||
### 首先检查服务器是否安装过`mariadb`
|
||||
|
||||
```shell
|
||||
rpm -qa | grep mariadb
|
||||
```
|
||||
|
||||

|
||||
|
||||
### 如果有类似,需要把他卸载
|
||||
|
||||
```shell
|
||||
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
|
||||
```
|
||||
|
||||
### 安装mysql的依赖包libao
|
||||
|
||||
```shell
|
||||
yum install libaio
|
||||
```
|
||||
|
||||
## 安装mysql
|
||||
|
||||
### 下载mysql
|
||||
|
||||
[mysql下载地址](https://dev.mysql.com/downloads/mysql/)
|
||||
|
||||
下载此版本:
|
||||
|
||||

|
||||
|
||||
下载之后,上传至服务器
|
||||
|
||||
### 解压mysql
|
||||
|
||||
解压
|
||||
|
||||
```shell
|
||||
tar -zxvf mysql-8.0.26-el7-x86_64.tar.gz
|
||||
```
|
||||
|
||||
解压之后,把解压的文件夹移动到`/usr/local/mysql`
|
||||
|
||||
```shell
|
||||
mv mysql-8.0.26-el7-x86_64 /usr/local/mysql
|
||||
```
|
||||
|
||||
### 创建data文件夹
|
||||
|
||||
进入mysql文件夹,创建data文件夹
|
||||
|
||||
```shell
|
||||
cd /usr/local/mysql
|
||||
mkdir data
|
||||
```
|
||||
|
||||
### 创建mysql组:创建mysql用户,并设置密码。
|
||||
|
||||
```shell
|
||||
useradd mysql
|
||||
passwd mysql
|
||||
```
|
||||
|
||||
### 将mysql目录的权限授给mysql用户和mysql组。
|
||||
|
||||
```shell
|
||||
chown -R mysql:mysql /usr/local/mysql
|
||||
```
|
||||
|
||||
### 赋予权限
|
||||
|
||||
```shell
|
||||
chmod -R 777 /usr/local/mysql
|
||||
chmod -R 777 /usr/local/mysql/data
|
||||
```
|
||||
|
||||
### 创建my.cnf配置文件
|
||||
|
||||
```shell
|
||||
touch /usr/local/mysql/my.cnf
|
||||
```
|
||||
|
||||
### 编辑配置文件
|
||||
|
||||
```shell
|
||||
vi my.cnf
|
||||
```
|
||||
|
||||
`my.cnf`内容
|
||||
|
||||
```ini
|
||||
[mysqld]
|
||||
# 设置3306端口
|
||||
port=3306
|
||||
# 设置mysql的安装目录
|
||||
basedir=/usr/local/mysql
|
||||
# 设置mysql数据库的数据的存放目录
|
||||
datadir=/usr/local/mysql/data
|
||||
# 允许最大连接数
|
||||
max_connections=100
|
||||
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
|
||||
max_connect_errors=10
|
||||
# 服务端使用的字符集默认为utf8mb4
|
||||
character-set-server=utf8mb4
|
||||
# 创建新表时将使用的默认存储引擎
|
||||
default-storage-engine=INNODB
|
||||
# 默认使用“mysql_native_password”插件认证
|
||||
default_authentication_plugin=mysql_native_password
|
||||
[mysql]
|
||||
# 设置mysql客户端默认字符集
|
||||
default-character-set=utf8mb4
|
||||
[client]
|
||||
# 设置mysql客户端连接服务端时默认使用的端口
|
||||
port=3306
|
||||
default-character-set=utf8mb4
|
||||
```
|
||||
|
||||
### 启动mysql
|
||||
|
||||
执行命令,记住随机密码
|
||||
|
||||
```shell
|
||||
cd /usr/local/mysql/bin
|
||||
./mysqld --initialize --console
|
||||
```
|
||||
|
||||
输入此命令后获取出现密码,在`root@localhost`的后面,把他记住,如下
|
||||
|
||||

|
||||
|
||||
### 再赋予一次权限
|
||||
|
||||
因为初始了data文件夹中的文件,都还没有赋予权限
|
||||
|
||||
```shell
|
||||
chmod -R 777 /usr/local/mysql
|
||||
chmod -R 777 /usr/local/mysql/data
|
||||
```
|
||||
|
||||
### 启动服务
|
||||
|
||||
进入mysql中的`support-files`文件夹,启动服务
|
||||
|
||||
```shell
|
||||
cd /usr/local/mysql/support-files
|
||||
./mysql.server start
|
||||
```
|
||||
|
||||
### 将mysql加入系统进程中
|
||||
|
||||
```shell
|
||||
cp mysql.server /etc/init.d/mysqld
|
||||
# 重启
|
||||
service mysqld restart
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 连接mysql并设置密码
|
||||
|
||||
### 创建一个软连接到` /usr/bin`
|
||||
|
||||
```shell
|
||||
ln -s /usr/local/mysql/bin/mysql /usr/bin
|
||||
```
|
||||
|
||||
### 连接mysql
|
||||
|
||||
```shell
|
||||
mysql -u root -p
|
||||
```
|
||||
|
||||

|
||||
|
||||
### 输入上面复制的密码
|
||||
|
||||

|
||||
|
||||
### 修改密码
|
||||
|
||||
```sql
|
||||
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
|
||||
```
|
||||
|
||||
### 设置允许远程登录
|
||||
|
||||
```sql
|
||||
mysql> use mysql;
|
||||
mysql> update user set user.Host='%' where user.User='root';
|
||||
# 应用配置
|
||||
mysql> flush privileges;
|
||||
# 退出mysql
|
||||
mysql> quit
|
||||
```
|
||||
|
||||
### 重启mysql
|
||||
|
||||
```shell
|
||||
service mysqld restart
|
||||
```
|
||||
|
||||
### 检查3306端口是否开放
|
||||
|
||||
```shell
|
||||
firewall-cmd --zone=public --list-ports
|
||||
```
|
||||
|
||||
### 开放3306端口
|
||||
|
||||
```shell
|
||||
firewall-cmd --zone=public --add-port=3306/tcp --permanent
|
||||
```
|
||||
|
||||
### 重启防火墙
|
||||
|
||||
```shell
|
||||
firewall-cmd --reload
|
||||
```
|
||||
|
||||
# 可能出现的错误
|
||||
|
||||
## 登录mysql的时候报错
|
||||
|
||||
`mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory`
|
||||
|
||||

|
||||
|
||||
## 解决
|
||||
|
||||
### 安装`libncurses`
|
||||
|
||||
```
|
||||
yum install libncurses*
|
||||
```
|
||||
|
||||
### 重新登录即可
|
||||
Reference in New Issue
Block a user