Linux环境---在线安装MYSQL数据库

Linux环境---在线安装MYSQL数据库

一、使用步骤

1.安装环境

Mysql 驱动 8.0 需要 jdk1.8+ 才行。

JDK版本:1.8 参考文档

MYSQL版本:8.0.2

下载链接: https://pan.baidu.com/s/1MwXIilSL6EY3OuS7WtpySA?pwd=g263

操作系统:CentOS

1.1 建立存放软件的目录

注意:此处本人是将需要按照的软件存放在directory目录下,可根据实际情况调整接收路径。

命令如下:

c 复制代码
mkdir directory

如果软件目录已经存在,直接切换到软件目录下

命令如下:

c 复制代码
cd /directory  

注意:命令 ll 是查看directory 有哪些信息

2.安装Mysql

2.1 卸载mariadb相关包

命令如下:

c 复制代码
yum remove mariadb-libs

输入y,继续

2.2 创建用户

命令如下:

c 复制代码
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

2.3 创建mysql的数据目录/根目录(安装目录)

命令如下:

c 复制代码
mkdir /home/mysql_data
mkdir /usr/local/mysql

2.4 解压并创建软链接

命令如下:

c 复制代码
tar -zxvf mysql-8.0.20-el7-x86_64.tar.gz
mv mysql-8.0.20-el7-x86_64/* /usr/local/mysql


2.5 配置数据库信息

命令如下:

c 复制代码
cd /etc
vi /etc/my.cnf

#用vim编辑器来编辑profile文件,在文件末尾添加以下内容:

c 复制代码
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/home/mysql_data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
slow_query_log=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
wait_timeout=1800
interactive_timeout=1800
general_log=ON
general_log_file=/home/mysql_data/mysql_general.log
log_bin=ON
log-bin=/home/mysql_data/mysql-bin
expire_logs_days=5
max_binlog_size = 512M
sort_buffer_size = 1048576
server-id=1


[client]
port=3306

[mysql]
default-character-set=utf8mb4

(注意:按i为输入键,输入后,按esc退出编辑,再次输入:wq!强制保存)

2.6 设置目录权限

命令如下:

c 复制代码
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /home/mysql_data 
cd /usr/local/mysql

2.7 初始化MySQL

命令如下:

c 复制代码
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql_data

提示

The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.

(语法"expire-logs-days"已弃用,并将在将来的版本中删除。请改用binlog_expire_logs_conds。)

打印出来的是数据库[用户名/密码]:[root/e-s:slNqu1_y],密码需保存,记录

命令如下:复制support-files内容到已存在的etc目录下

c 复制代码
cp support-files/mysql.server /etc/init.d/mysql

命令如下:设置软链接

c 复制代码
ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql

软链接(注意:软链接的path为对应的解压路径,如果路径不同,需要调整命令)

2.8 使用systemctl管理服务

重新加载服务

设置为开机自启

启动

命令如下:

c 复制代码
systemctl daemon-reload
systemctl enable mysql
systemctl start mysql

补充:

systemctl status mysql --查看mysql服务状态

systemctl restart mysql --重启mysql服务

systemctl stop mysql --停止mysql服务

systemctl disable mysql --系统启动时禁止MySQL服务启动

3.使用Mysql

3.1 进入数据库

使用2.7保存的:数据库[用户名/密码]:[root/e-s:slNqu1_y]

命令如下:

c 复制代码
bin/mysql -u root -p

输入密码e-s:slNqu1_y

3.2 修改root密码

命令如下:

c 复制代码
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'test@mysql';

出现如下报错

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

根据提示执行ALTER命令修改本地登录的root账号的密码:

c 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test@mysql';

到此数据库root账号本地登录的密码为:test@mysql

根据提示执行ALTER命令修改任意地址登录的root账号的密码:

c 复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'test@mysql';

到此数据库root账号任意地址登录登录的密码为:test@mysql

3.3 创建数据库

命令如下:

c 复制代码
CREATE DATABASE test_manage DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

命令如下:显示所有的数据库

c 复制代码
show databases;

3.4 创建⽤户

@'localhost'(本地访问Only) @'%'(可以外部访问)

命令如下:

c 复制代码
CREATE user 'local_users'@'localhost' IDENTIFIED WITH mysql_native_password BY 'local_users@123456';
CREATE user 'portal_users'@'%' IDENTIFIED WITH mysql_native_password BY 'portal_users@123456';

%,表示任意IP地址都可以登录

localhost,表示仅仅允许本地登录

命令如下:执行此命令,可以看出portal_users任意IP地址都可以登录、local_users仅仅允许本地登录

c 复制代码
use mysql;
select user, host from user;

3.5 授权⽤户权限

授权⽤户CRUD以及创建表的权限

命令如下:

c 复制代码
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, REFERENCES, EXECUTE,ALTER ROUTINE ON test_manage.* TO 'portal_users'@'%';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, REFERENCES, EXECUTE,ALTER ROUTINE ON test_manage.* TO 'local_users'@'localhost';

命令如下:

c 复制代码
flush privileges;

退出数据库(exit/quit)

命令如下:

c 复制代码
exit

4.防火墙开放3306端口

命令如下:

c 复制代码
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

5.DBeaver远程连接数据库


相关推荐
液态不合群1 小时前
[特殊字符] MySQL 覆盖索引详解
数据库·mysql
pride.li2 小时前
开发板和Linux--nfs服务挂载
linux·运维·服务器
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
looking_for__2 小时前
【Linux】应用层协议
linux·服务器·网络
瀚高PG实验室2 小时前
PostgreSQL到HighgoDB数据迁移
数据库·postgresql·瀚高数据库
BB_CC_DD2 小时前
Linux截图工具(ubuntu18.04+flameshot(火焰截图))
linux
打码人的日常分享3 小时前
智能制造数字化工厂解决方案
数据库·安全·web安全·云计算·制造
三水不滴3 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
云泽8083 小时前
不止是命令:Linux 高频指令实战 + 芯片架构底层逻辑
linux·运维·服务器
j_xxx404_3 小时前
Linux:基础IO
linux·运维·服务器