MySQL 5 的基础上安装MySQL 8

虚拟机中已安装MySQL 5,因业务需求需再装MySQL 8版本

查看是否有安装mariadb,如安装了需卸载

(1)查看安装的mariadb程序:rpm -qa | grep -i mariadb
(2)卸载程序:yum remove mariadb

1、下载MySQL 8 安装包,上传到服务器

2、解压安装包,更改文件名称

在安装包文件路径下执行下两条命令

tar -zxvf mysql-8.0.28-el7-x86_64.tar.gz --解压

mv mysql-8.0.28-el7-x86_64.tar.gz mysql-8.0.28   --文件重命名

3、在/tmp路径下创建mysql8.sock空文件

vi /tmp/mysql8.sock

4、创建编辑my.cnf文件

注:大小写敏感配置lower_case_table_names=1 只能在初始化服务器时配置。 禁止在服务器初始化后更改 lower_case_table_names 设置,默认敏感,1为不敏感。

vi my8.cnf(与前期安装的mysql5区分开)

[mysqld]

#设置mysql的安装目录
basedir = /usr/local/mysql-8.0.28
#设置mysql数据库的数据存放目录
datadir =/usr/local/mysql-8.0.28/data
#设置端口
port = 3307
user=root
socket = /tmp/mysql8.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql-8.0.28/data/mysqld.log
pid-file = /usr/local/mysql-8.0.28/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

lower_case_table_names=1


5、增加用户分配用户组

useradd  mysql  mysql

chown -R  mysql:mysql  /usr/local/mysql-8.0.28

6、初始化数据库

cd   /usr/local/mysql-8.0.28/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

启动时会出现Different lower_case_table_names settings for server ('1') and data dictionary ('0').

重新初始化:

./mysqld --initialize --user=mysql --basedir=/mnt/dpan/dajiang/mysql-8.0.26 --datadir=/mnt/dpan/dajiang/mysql-8.0.26/data --lower-case-table-names=1

生成出一个data目录,代表数据库已经初始化成功,同时会生成临时密码,需记住,如果没有日志打印,则可以进入日志文件中查看

7、启动数据库

./usr/local/mysql8/mysql-8.0.28/bin/mysqld_safe --defaults-file=/etc/my8.cnf &

8、进入数据库

./mysql -uroot -p   后输入临时密码

非/tmp/mysql.cock时使用 ./mysql --socket=/tmp/mysql8.sock -P 33061 -uroot -p)

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

9、允许所有用户连接数据库

use mysql;

update user set host='%' where user='root';

刷新权限 FLUSH PRIVILEGES;

10、开放防火墙

firewall-cmd --zone=public --add-port=3307/tcp --permanent

重启防火墙
systemctl restart firewalld.service

11、创建服务

编写启动和停止脚本

usr/local/mysql-8.0.28/bin/下创建startup.sh和shutdown.sh

startup.sh:

#!/bin/sh
./usr/local/mysql-8.0.28/bin/mysqld_safe --defaults-file=/etc/my8.cnf &

shutdown.sh:

#!/bin/sh
./usr/local/mysql-8.0.28/bin/mysqladmin --defaults-file=/etc/my8.cnf --socket=/tmp/mysql8.sock -uroot -p123456 shutdown

在/etc/systemd/system下建立mysql8.service文件

[Unit]
Description=mysql8-server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service] 
Type=forking
ExecStart=/usr/local/mysql-8.0.28/bin/startup.sh
ExecStop=/usr/local/mysql-8.0.28/bin/shutdown.sh
Restart=always PrivateTmp=true

[Install]
WantedBy=multi-user.target

#刷新配置
systemctl daemon-reload

# 启动服务
systemctl start mysql8.service

# 停止服务
systemctl stop mysql8.service

# 查看服务状态
systemctl status mysql8.service

# 开启自启动
systemctl enable mysql8.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值