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远程连接数据库


相关推荐
AA-代码批发V哥3 分钟前
MySQL常用函数详解之流程函数
mysql
string小白17 分钟前
【SQL】视图
java·数据库·sql
小阳人19 分钟前
rockylinuxapache和Linux服务配置
linux·运维·服务器
中国lanwp37 分钟前
DBeaver 中 Greenplum、PostgreSQL 和 PostgreSQL (old) 驱动的区别
数据库·postgresql
ajassi200039 分钟前
开源 Arkts 鸿蒙应用 开发(四)布局和常用控件
linux·华为·开源·harmonyos
27划流星雨_42 分钟前
【python】typing用法
linux·windows·python
考虑考虑1 小时前
update语句使用表中的字段更新
数据库·后端
望获linux1 小时前
【Linux基础知识系列】第二十八篇-管道与重定向的使用
linux·前端·chrome·操作系统·rtos·嵌入式软件
YuTaoShao1 小时前
Java八股文——MySQL「架构篇」
java·mysql·架构
字节高级特工1 小时前
每日一篇博客:理解Linux动静态库
linux·运维·服务器·c语言·c++·windows·ubuntu