Centos7安装mysql8.0

一、卸载MariaDB

#查看版本
rpm –qa | grep mariadb
#卸载
rpm –e --nodeps 文件名
#查看是否卸载干净
rpm –qa |grep mariadb

 

二、安装mysql

1、下载资源包 

官网下载

https://dev.mysql.com/downloads/mysql/

https://img-blog.csdnimg.cn/19b0ecbd2ffe4a33b8838a0c26ecd172.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGZ3aA==,size_20,color_FFFFFF,t_70,g_se,x_16

Wget下载

1、下载
​wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
2、解压
.tar.gz后缀:tar -zxvf 文件名
.tar.xz后缀:tar -Jxvf 文件名
3、重命名或者建立软连接
# 重命名
mv 原文件夹名 mysql8
# 软链接
ln -s 文件夹名 mysql8
4、添加PATH变量
添加PATH变量后,可在全局使用MySQL。编辑 /etc/profile文件,在文件末尾添加如下代码 永久环境变量针对所有用户
有两种添加方式:export命令临时生效、修改配置文件用久生效;
#临时环境变量,关闭shell后失效,通常用于测试环境
export PATH=$PATH:/data/software/mysql8/bin
​

三、用户和用户组

1、创建用户组和用户

# 创建一个用户组:mysql
groupadd mysql
# 创建一个系统用户:mysql,指定用户组为mysql
useradd -r -g mysql mysql

2、数据目录

创建目录
mkdir -p /data/software/mysql8/datas
赋予权限
# 更改属主和数组
chown -R mysql:mysql /data/software/mysql8/datas
# 更改模式
chmod -R 750 /data/software/mysql8/datas

四、初始化Mysql

1、配置参数

#在/data/software/mysql8/下,创建my.cnf配置文件,用于初始化MySQL数据库
---------------------------my.cnf------------------------------------------------
[mysql]
# 默认字符集
default-character-set=utf8mb4

[client]
port       = 3306
socket     = /tmp/mysql.sock

[mysqld]
port       = 3306
server-id  = 3306
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /data/software/mysql8
# 数据存放目录
datadir    = /data/software/mysql8/datas/mysql
log-bin    = /data/software/mysql8/datas/mysql/mysql-bin
innodb_data_home_dir      =/data/software/mysql8/datas/mysql
innodb_log_group_home_dir =/data/software/mysql8/datas/mysql
#日志及进程数据的存放目录
log-error =/data/software/mysql8/datas/mysql/mysql.log
pid-file  =/data/software/mysql8/datas/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
 ##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
       
[mysqlhotcopy]

interactive-timeout
##############################################################

 2、初始化

mysqld --defaults-file=/data/software/mysql8/my.cnf --basedir=/data/software/mysql8/ --datadir=/data/software/mysql8/datas/mysql --user=mysql --initialize-insecure

defaults-file:指定配置文件(要放在–initialize 前面)
user: 指定用户
basedir:指定安装目录
datadir:指定初始化数据目录
intialize-insecure:初始化无密码

五、启动mysql

查看 MySQL bin路径下,是否包含mysqld_safe,用于后台安全启动MySQL

1、启动服务

# 完整命令
/data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &
# 添加PATH变量后的命令(省略bin目录的路径)
mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &

查看是否启动
ps –ef | grep mysql

 2、登录

# 无密码登录方式
/data/software/mysql8/bin/mysql -u root --skip-password

# 有密码登录方式(初始的随机密码在/data/mysql8_data/mysql/mysql.log下)
mysql -u root -p
password:随机密码

3、修改密码

进入mysql之后进行下面操作

# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
#退出
exit

4、设置允许远程登录

mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

六、数据库导入、导出

1、数据库导入

使用 source 命令需要我们先登录到 mysql 中,并创建一个空的数据库:
mysql> create database abc;      # 创建数据库
mysql> use abc;                  # 使用已创建的数据库
mysql> set names utf8;           # 设置编码
mysql> source /home/fairy/桌面/job.sql  # 导入备份数据库
注意你备份的 sql 文件路径。
使用 mysql 命令导入数据库格式如下:
mysql -u用户名 -p 数据库名 < 数据库名.sql
以下实例将备份的数据库 abc.sql 导入到数据库中:
# mysql -root -job < job.sql

2、数据库导出

Linux 下可以使用 mysqldump 命令来导出数据库,语法格式如下:
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
以下命令可以导出 abc 数据库的数据和表结构:
 /home/fairy/mysql/bin/mysqldump -uroot -p job > job.sql 按下回车键后会提示输入密码,输入即可。 注意:mysqldump 命令路径是根据你 MySQL 安装路径决定的。

相关推荐

  1. centos7 安装php82

    2024-03-26 05:36:15       19 阅读
  2. Centos7如何安装MySQL

    2024-03-26 05:36:15       40 阅读
  3. CentOS 7安装Mysql+Mycat

    2024-03-26 05:36:15       36 阅读

最近更新

  1. AWS EKS上GPU工作负载自动扩缩容的异常排查指南

    2024-03-26 05:36:15       0 阅读
  2. 深入WebKit内核:揭秘HTML与XML的识别之谜

    2024-03-26 05:36:15       0 阅读
  3. shell脚本实现mysql 数据库备份

    2024-03-26 05:36:15       1 阅读
  4. 数据结构第11节: B树

    2024-03-26 05:36:15       1 阅读
  5. Spring Boot与RSocket的集成

    2024-03-26 05:36:15       1 阅读
  6. 责任链模式

    2024-03-26 05:36:15       1 阅读

热门阅读

  1. GraphQL入门之变更输入类型

    2024-03-26 05:36:15       20 阅读
  2. OpenCV图像翻转和旋转

    2024-03-26 05:36:15       19 阅读
  3. 使用OpenCV在Qt C++环境中实现车牌号码的识别

    2024-03-26 05:36:15       21 阅读
  4. GraphQL入门之自定义标量类型

    2024-03-26 05:36:15       19 阅读
  5. OpenCV多边形填充与绘制

    2024-03-26 05:36:15       21 阅读
  6. Ubuntu下采用VSCode进行C/C++开发(2)

    2024-03-26 05:36:15       21 阅读
  7. Node.js及node.js常用命令

    2024-03-26 05:36:15       21 阅读
  8. npm install jsencrypt爆错

    2024-03-26 05:36:15       17 阅读
  9. 神经网络深度学习梯度下降算法优化

    2024-03-26 05:36:15       23 阅读
  10. 云安全与云计算的关系

    2024-03-26 05:36:15       23 阅读