MySQL8.0安装

一 关闭防火墙,查看本机IP地址和主机名 并添加进/etc/hosts文件中
检查防火墙状态
systemctl status firewalld.service
暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动
systemctl stop firewalld.service
彻底永久关闭防火墙
systemctl disable firewalld.service

命令如下:

查看IP地址 : ifconfig -a / ip a
查看主机名 : hostname
然后修改/etc/hosts文件:
vi /etc/hosts

添加内容:ip 主机名

二 下载mysql的安装包,上传到/usr/local
https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.24-el7-x86_64.tar.gz

三 检查服务器上是否之前安装过MYSQL
CENTOS6: rpm -qa |grep mysql --检查是否有mysql

CENTOS7: rpm -qa |grep mariadb

rpm -e xxxxx(你用上面的命令检查出来的) --nodeps (–nodep代表不考虑关联删除)。
例:
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

四 解压
cd /usr/local
MYSQL 8.0按照以下执行
tar xzvf mysql-8.0.24-el7-x86_64.tar.gz --使用tar xzvf进行压缩包解压
改目录名称
mv mysql-8.0.24-el7-x86_64 mysql

五 创建数据目录、mysql用户和组
mkdir -p /data/mysql_data
mkdir -p /data/mysql_log
mkdir -p /data/log-bin
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /data/mysql_data /data/mysql_log /data/log-bin
chown -R mysql.mysql /usr/local/mysql

六 创建my.cnf文件
vi /etc/my.cnf
[mysqld]
#GENERAL #
user = mysql
collation_server=utf8mb4_general_ci
character_set_server=utf8mb4
default-storage-engine = InnoDB
socket = /data/mysql_data/mysql.sock
pid-file = /data/mysql_data/mysql.pid
port = 3306
#SAFETY #
max_allowed_packet = 16M
max_connect_errors = 1000000
skip_name_resolve
#DATA STORAGE #
datadir = /data/mysql_data/
long_query_time = 1
#BINARY LOGGING #
binlog-format = ROW
log-bin = /data/log-bin/mysql-bin-3306
expire-logs-days = 14
sync-binlog = 1
max_binlog_size = 500M
#CACHES AND LIMITS #
tmp_table_size = 32M
max_heap_table_size = 32M
max_connections = 500
thread_cache_size = 50
open_files_limit = 65535
table_definition_cache = 4096
table_open_cache = 4096
#INNODB #
innodb_data_file_path = ibdata1:128M;ibdata2:10M:autoextend
innodb_flush_method = O_DIRECT
innodb_log_files_in_group = 2
innodb_lock_wait_timeout = 50
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = 1
innodb_thread_concurrency = 8
innodb_buffer_pool_size = 8G
#LOGGING #
log-error = /data/mysql_log/mysql-error-3306.log
log-queries-not-using-indexes = 1
slow-query-log = 1
long_query_time = 1
slow-query-log-file = /data/mysql_log/mysql-slow-3306.log
server-id = 1
[client]
default_character-set=utf8mb4

七 配置系统服务
cp -af /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

#############################################
vi /etc/init.d/mysqld
修改两处位置:
basedir=/usr/local/mysql
datadir=/data/mysql_data
#############################################

八 开机自启动
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on

检查是否成功
chkconfig mysqld --list

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off <成功>

九 初始化数据库
MYSQL 8.0:
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data

并添加环境变量
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH= P A T H : PATH: PATH:MYSQL_HOME/bin
保存退出
. /etc/profile

十 启动数据库
输入以下命启动数据库:
service mysqld start
mysql -uroot -p --然后这里出现Enter password:的时候直接按回车即可

如果CENTOS6或者CENTOS 7出现以下两个问题:

第一:如果出现了下面的错误:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
用下面的命令去解决,直接复制粘贴!
ln -s /data/mysql_data/mysql.sock /tmp/mysql.sock

然后再重复上面的mysql -uroot -p命令,并在Enter password的时候直接回车

这时可能会出现第二情况,报错如下:

mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)

解决方案:
找到密码:
cat /data/mysql_log/mysql-error-3306.log|grep password

mysql -uroot -p’xxxx’

十一修改密码、配置权限
MYSQL 8.0修改密码的方式:

alter user user() identified by “root”;

FLUSH PRIVILEGES;

退出MYSQL以后 就可以使用 mysql -uroot -proot进入到数据库中了。

由于MYSQL 8.0已经不再支持以下语句:
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

grant all privileges on . to root@“%” identified by “.”;

所以我们需要使用类似ORACLE的语句去创建root用户然后进行后续权限操作:
CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘root’;
再给用户授权
grant all privileges on . to ‘root’@‘%’ WITH GRANT OPTION;

以上两个操作都做完以后刷新权限 或者你做一个刷新一次
FLUSH PRIVILEGES;

mysql>exit

如果要安装MGR的话,那么:
CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘root’;
再给用户授权
grant all privileges on . to ‘root’@‘%’ ;
以上这两个步骤务必不要执行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值