一、参考5.7安装
安装目录:/apps/xwsoft/mysql
tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz
二、在mysql目录下创建文件my.cnf,创建data、log目录
[whl@localhost mysql]$ mkdir log
[whl@localhost mysql]$ mkdir data
[whl@localhost mysql]$ vi my.cnf
编写:/apps/xwsoft/mysql/my.cnf
[mysqld]
basedir=/apps/mysql
datadir=/apps/mysql/data
port = 3306
socket=/apps/mysql/mysql.sock
symbolic-links=0
log-error=/apps/mysql/log/mysqld.log
pid-file=/apps/mysql/mysqld.pid
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
# 开启bin_log,模式为ROW,允许最大日志为1G
log-bin=mysql-bin
binlog-format=ROW
max_binlog_size=1024M
# 主从双向写日志到log-bin,不开启,则从库同步不写,,5.7不需要配置
log-slave-updates=1
# 实现数据库宕机恢复后,自动同步缺少的数据
relay_log=mysql-relay-bin
#保证全局唯一:
server_id=1
max_connections=1000
lower_case_table_names=0
# 设置自增ID初始值为2,每次自增量为2
auto_increment_offset=2
auto_increment_increment=2
# 开启gtid
gtid_mode=ON
enforce_gtid_consistency=1
# 忽略不需要同步的schema
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
三、初始化
指定my.cnf路径
指定user
指定basedir路径
指定data路径
[whl@node01 mysql]$ bin/mysqld --defaults-file=/apps/xwsoft/mysql/my.cnf --initialize --user=whl --basedir=/apps/xwsoft/mysql --datadir=/apps/xwsoft/mysql/data
四、查看初始化密码
grep "password" /apps/xwsoft/mysql/log/mysqld.log
五、启动mysql,输入启动指令,等一会回车即可
[whl@node01 mysql]$ bin/mysqld_safe --defaults-file=/apps/xwsoft/mysql/my.cnf --user=whl &
5.1查看进程,端口号
[whl@localhost mysql]$ ss -utlanp | grep 3306
[whl@localhost mysql]$ ps -ef | grep mysql
5.2需要将mysql.sock 下 链接在/tmp/mysql.sock下,不然登录数据库会报下面错误
[whl@node01 mysql]$ ln -s /apps/xwsoft/mysql/mysql.sock /tmp/
5.3登录数据库,使用初始化密码
[whl@localhost mysql]$ bin/mysql -uroot -p
5.4修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'asdwhl@0';
### mysql> set password for 'root'@'%' = '123456';
5.5 更新host,授权:
mysql> update user set host=‘%’ where user=‘root’;
8.0以上版本可不执行grant
mysql> grant all privileges on . to ‘root’@‘%’;
查询:
mysql> select host, user from user;
5.6 再次修改密码,因为’root’@‘localhost’,已变成:root’@'%
ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘asdwhl@0’;
8.0.31版本使用以下修改
mysql> ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘Xwsx.2020’;
5.7 刷新,退出
flush privileges;
exit
六、退出后,杀死mysql进程,重启mysql之前,需要把/tmp下面的mysql.sock软连接删掉,重新做一次,在启动,不然会报错
ps -ef |grep mysql
kill-9 xxx
[whl@node02 log]$ rm -rf /tmp/mysql.sock
[whl@node02 mysql]$ ln -s /apps/xwsoft/mysql/mysql.sock /tmp/
[whl@node02 mysql]$ bin/mysqld_safe --defaults-file=/apps/xwsoft/mysql/my.cnf