linux centos7 安装mysql8

《官网下载mysql8.0.23》

下载mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23

在这里插入图片描述

#查找是否已安装mysql
[root@x /]# rpm -pa | grep mysql
#删除系统自带的mysql
[root@x /]# yum remove mysql-xxx-xxx-
#查找自带的mysql配置文件
[root@x /]# find / -name mysql
#删除自带的mysql配置文件
[root@x /]# rm -rf /var/lib/mysql
#查找mariadb
[root@x /]# rpm -pa | grep mariadb
#删除mariadb
[root@x /]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@x /]# cd /usr/local
#把安装包放到/usr/local/目录下,xz解压为tar,然后再tar解压。
[root@x mysql]# xz -d  mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
[root@x mysql]# tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar
#修改解压后的名字为mysql-8.0.23
[root@x mysql]# mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23
#创建用户组以及用户和密码并授权
[root@x mysql]# groupadd mysql
[root@x mysql]# useradd -g mysql mysql
[root@x mysql]# chown -R mysql:mysql /usr/local/mysql-8.0.23
#创建 data 数据存储目录
[root@x mysql]# mkdir /usr/local/mysql-8.0.23/data
[root@x mysql]# chmod -R 777 /usr/local/mysql-8.0.23
[root@x mysql]# vi /etc/my.cnf

#配置开始
[mysqld]
port=3306

basedir=/usr/local/mysql-8.0.23

datadir=/usr/local/mysql-8.0.23/data

max_connections=10000

max_connect_errors=10

character-set-server=utf8

default_authentication_plugin=mysql_native_password

sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

[mysql]
default-character-set=utf8

[client]
port=3306
default-character-set=utf8
#配置结束

#授权my.cnf
[root@x /]# chmod 644 /etc/my.cnf
#进入mysql8.0.23的bin目录
[root@x /]# cd /usr/local/mysql-8.0.23/bin/
#初始化数据库
[root@x bin]# ./mysqld --initialize --console
#执行完会有密码,请记住这个密码。
#A temporary password is generated for root@localhost: q*5vh/tm2?vG
#授权data文件夹
[root@x mysql-8.0.23]# chmod -R 777 /usr/local/mysql-8.0.23/data/
#启动mysql8
[root@x mysql-8.0.23]# cd /usr/local/mysql-8.0.23/support-files/
[root@x mysql-8.0.23]# ./mysql.server start
#配置环境变量
[root@x mysql-8.0.23]# cp mysql.server  /etc/init.d/mysqld
[root@x mysql-8.0.23]# service mysqld restart
#软链接
[root@x mysql-8.0.23]# ln -s /usr/local/mysql-8.0.23/bin/mysql /usr/bin
#修改root密码
[root@x mysql-8.0.23]# mysql -uroot -p
#输入之前打印出来的密码。我的是:q*5vh/tm2?vG
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
#修改root加密方式
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#允许root远程登录(8版本mysql禁止root远程登录了)
mysql> update user set host='%' where user = 'root';
#刷新
mysql> FLUSH PRIVILEGES;
#新建用户
mysql> CREATE USER 'x'@'%' IDENTIFIED WITH mysql_native_password BY 'x' PASSWORD EXPIRE NEVER;
#授权新用户
mysql> GRANT all on *.* to 'x'@'%';
#刷新新用户
mysql> FLUSH PRIVILEGES;
#退出mysql
mysql> exit;
#开放linux服务器数据库3306端口
[root@x /]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重启linux服务器
[root@x /]# firewall-cmd --reload

最后用navicat测试一下链接即可。

设置开机启动mysql

#启动mysql
[root@x /]# service mysqld start
#设置开机启动mysql
[root@x /]# cp /usr/local/mysql-8.0.23/support-files/mysql.server /etc/init.d/mysqld
cp:是否覆盖"/etc/init.d/mysqld"? y
[root@x /]# chmod +x /etc/init.d/mysqld
[root@x /]# chkconfig --add mysqld
[root@x /]# chkconfig --level 345 mysqld on

#重启linux验证服务是否自启动
[root@x /]# reboot
[root@x /]# netstat -na | grep 3306

mysql修改加密方式

mysql> ALTER USER 'x'@'%' IDENTIFIED WITH mysql_native_password BY 'x';

mysqldump备份数据库

备份一个数据库到/usr/local/文件夹下

mysqldump -uroot -p demo > /usr/local/demo.sql

备份全部数据库

mysqldump -uroot -p123456 --all-databases > all_database.sql

mysqldump -uroot -p123456 -A > all_database.sql

备份部分数据库

mysqldump -uroot -p123456 --databases demo demo2 > two_database.sql
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值