linux 安装 两台 mysql8.0

 

1.先看一下当前系统版本再下载对应的包:

cat /proc/version
Linux version 3.10.0-862.14.4.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Sep 26 15:12:11 UTC 2018

64位就下载对应64位 mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz下载链接

2.原先mysql是3306,我们把下载的压缩包拷贝到usr/local/mysql3307 目录

cd/usr/local

mkdir mysql3307

tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz /usr/local/mysql3307

3.mysql用户检查

cd mysql3307/

#新建mysql用户、mysql用户组,如果之前已经建立过,就不用建立了

groupadd mysql

#给mysql添加用户 为 mysql

useradd mysql -g mysql

#将/usr/local/mysql的所有者及所属组改为mysql

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

chmod -R 755 /usr/local/mysql3307/

4.mysql目录新增

在mysql3308下新增文件夹data,var,etc,tmp备用,etc是用来放配置文件的

ls 查看一下当前文件目录

将没有的文件夹添加一下

mkdir data

mkdir var

mkdir etc

mkdir etc

5.创建数据库配置文件

一般为my.cnf 。其实在根目录  /etc/my.cnf 有这个文件,复制到3307/etc目录里面,如果根目录下没有的话,就需要使用touch命令创建新的空文件

ls /etc

cp /etc/my.cnf etc/

ls etc/

编辑my.cnf

vi etc/my.cnf 

[mysqld]
basedir = /usr/local/mysql3307
datadir = /usr/local/mysql3307/data
socket = /usr/local/mysql3307/tmp/mysql.sock
port = 3307

[client]
socket = /usr/local/mysql3307/tmp/mysql.sock
default-character-set=utf8

[mysqld_safe]
log-error=/usr/local/mysql3307/mysql-log/error.log
pid-file=/usr/local/mysql3307/data/mysql.pid

6.目录赋权限

#如果/usr/local/mysql3308/目录下没有tmp文件,手动创建,并且配置权限:

chmod 777 ./data

chmod 644 ./etc (my.cnf不能777 mysql会因为i不安全忽略)

mkdir tmp
chmod 777 ./tmp

mkdir mysql-log

chmod 777 ./mysql-log

cd mysql-log

touch error.log

7.修改/3307/support-files/mysql.server启动文件

vi support-files/mysql.server 

指定地址和配置文件的位置:

改1:并删掉下面的conf=/etc/my.cnf

basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
conf=/usr/local/mysql33087etc/my.cnf

改2:加 extra_args="-c $conf"

linux 安装 两台 mysql8.0

改3:$bindir/mysqld_safe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &

linux 安装 两台 mysql8.0

8.初始化

cd /usr/local/mysql3307

./bin/mysqld --defaults-file=/usr/local/mysql3307/etc/my.cnf --initialize --user=mysql

9.启动

support-files/mysql.server start

lsof -i:3307查看是否启动

将3307 mysql加入服务

cp /usr/local/mysql3307/support-files/mysql.server /etc/init.d/mysql3307

设置开机启动

chkconfig --add mysql3308

显示服务列表

chkconfig --list

#如果3,4,5都是开的就说明是自启设置成功

10.连接数据库和配置

第二个数据库必须使用socket进入,否则默认为第一个数据库。因为配置了全局环境变量

cd bin/

mysql -uroot -p -h 127.0.0.1 --socket=../tmp/mysql.sock --port=3307

输入第8步返回的初始化的密码

alter user 'root'@'localhost' identified by '123456';

flush privileges;

远程连接用户设置:
use mysql;
select 'host' from user where user='root';
update user set host = '%' where user ='root';
flush privileges;
select 'host' from user where user='root';

低版本navicat连接设置

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';

flush privileges;