Centos7 安装mysql8.0.19

操作系统:阿里云CentOS7
MySQL版本:V8.0.19

1、安装前卸载mariadb

# rpm -qa | grep mariadb
# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

2、# cd /usr/local/bin/

3、下载mysql redHat版本

# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

4、解包

# tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar解压后一共有8个rpm安装包

5、解压后一共有8个安装包,依次执行rpm -ivh [安装包名称].rpm --nodeps --force命令安装。以下是我执行命令的顺序(安装了7个,测试包没有安装)

1、# rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm --nodeps --force
2、# rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm --nodeps --force
3、# rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm --nodeps --force
4、# rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm --nodeps --force
5、# rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm --nodeps --force
6、# rpm -ivh  mysql-community-embedded-compat-8.0.19-1.el7.x86_64.rpm --nodeps --force
7、# rpm -ivh mysql-community-devel-8.0.19-1.el7.x86_64.rpm --nodeps --force

使用# rpm -qa | grep mysql 查看已安装的mysql包

6、mysqld初始化

# mysqld --initialize;
如果报错error while loading shared libraries: libaio.so.1: cannot open shared object file 则需要先执行
# yum install -y libaio 安装libaio异步IO组件,然后初始化mysqld

7、启动mysqld

# systemctl start mysqld.service
或者# service mysqld restart
如果启动报错“Job for mysqld.service failed because the control process exited with error code” 可以尝试删掉初始化信息# rm -rf /var/lib/mysql 然后启动(此处我没有验证,是不是可以跳过第六步直接启动)

8、修改root初始密码

1)# cat /var/log/mysqld.log | grep password 命令查看数据库root用户的初始化密码
2)# mysql -uroot -p root用户登陆,密码使用初始化密码
3)mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 修改root密码为123456

9、开启mysql远程访问

1)阿里云控制台添加安全组规则,开放3306端口
2)查看firewall启用情况和端口开放情况,用到的命令如下

# systemctl status firewalld ##查看防火墙启用情况
# firewall-cmd --list-port  ##查看防火墙开放端口情况
# firewall-cmd --zone=public --add-port=3306/tcp --permanent  ##开放端口3306
# firewall-cmd --reload ## 端口开放reload生效
# netstat -nltp # 端口使用情况

3)创建mysql远程访问用户

# mysql -u root -p   ##登陆mysql
mysql> use mysql; ##打开mysql系统库
mysql>  select host,user from user where user='root';  ## 查看root用户,默认只有host为localhost的root用户
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456';  ## 创建host为%号的root远程用户
mysql>  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';  ##将远程访问用户的验证方式改为: msyql_native_password
mysql> grant all privileges on *.*  to  'root'@'%' ;   ##授权
mysql>  flush privileges; ##更改生效

参考:
https://baijiahao.baidu.com/s?id=1649440975682362894&wfr=spider&for=pc
https://blog.csdn.net/eagle89/article/details/78411184
https://blog.csdn.net/aiyowei1106/article/details/88703746
https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/updategrole.html
https://www.jianshu.com/p/c73eba1472ff

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章