这篇文章主要介绍了CentOS7.6安装MYSQL8.0的步骤,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

转自:http://www.cppcns.com/shujuku/mysql/287244.html

1、一般CentOS默认安装了mariadb,所以先查看是否安装mariadb,如果安装就需要先卸载mariadb

  1. rpm -qa|grep mariadb
  2. rpm -e mariadb-libs --nodeps

2、在/usr/local/目录下创建mysql文件夹

  1. cd /cd usr/local   
  2. mkdir mysql

3、进入mysql文件夹内,下载mysql

  1. cd mysql 
  2. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

4、解压mysql到当前目录

  1. tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

5、安装mysql,依次执行下列命令

  1. rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force
  2. rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force
  3. rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
  4. rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force

6、初始化和相关配置,依次执行下列命令

  1. mysqld --initialize;
  2. chown mysql:mysql /var/lib/mysql -R;
  3. systemctl start mysqld.service;
  4. systemctl enable mysqld;

如果执行mysqld --initialize; 出现以下报错,先执行yum -y install numactl,再执行mysqld --initialize;

如果执行systemctl start mysqld.service; 出现以下报错,先执行tail -f /var/log/mysqld.log查看错误日志

如果错误日志如下,执行cd /var/lib/mysql,执行rm -rf *删除所有文件,再执行systemctl start mysqld.service;

7、查看数据库初始化密码

  1. cat /var/log/mysqld.log | grep password

8、登录数据库,复制粘贴始化密码就行,登录密码不会显示,按回车键

  1. mysql -uroot -p

9、修改密码,密码需要数字,大小写字母,特殊符号

  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

10、退出mysql,然后通过新密码再次登陆验证密码是否修改成功

  1. exit;
  2. mysql -uroot -p

11、创建远程访问用户,依次执行下列命令

  1. create user 'root'@'%' identified with mysql_native_password by 'xxxxx';
  2. grant all privileges on *.* to 'root'@'%' with grant option;
  3. flush privileges;

12、一般服务器没有默认开发3306端口,需要在服务器控制台,配置安全组~

总结

以上所述是小编给大家介绍的CentOS7.6安装MYSQL8.0的步骤详解,希望对大家有所帮助

另外补充MySQL操作:修改端口与分配权限

vim /etc/my.cnf

    [mysqld]
    port=12345

添加以上port的设置

运行服务:  systemctl restart mysqld.service

再检查下端口: netstat -nltp

发现mysql监听两个端口:12345 33060.这是应为MySQL5.7.12 之后新增了X plugin。这个插件默认是启用的,可以在配置配置文件/etc/my.cnf 添加mysqlx=0关闭X plugin。 也可以在启动时指定 --mysqlx=0 或 --skip-mysqlx 来禁用X插件。
 

可能会遇到. SELinux问题

方法一: 不需要重启Linux:       # setenforce 0
方法二:需要重启Linux:
vi /etc/selinux/config
SELINUX=disabled[/size]

#MySQL 修改数据目录(无需修改配置)

MySQL 8.0 默认数据目录位置为:/var/lib/mysql/      我的目标位置为:/home/data/           

# 停止服务并检查 服务是否已经停止
systemctl stop mysqld.service

systemctl status mysqld.service

#将默认的数据目录移至目标位置
mv /var/lib/mysql/ /home/data/

#将在目标位置软链至原始位置,使用以下指令建立软链接
ln -s /home/data/mysql /var/lib/

#检查是否已链接成功,使用以下指令
ls -la /var/lib/mysql

#重启服务
systemctl start mysqld.service

#MySQL 赋予用户权限

1. 赋予权限

# 创建本地用户
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

# 新建远程用户
CREATE USER 'user'@'%' IDENTIFIED BY 'password';

# 新建数据库
CREATE DATABASE test_db;

# 查看用户权限
SHOW GRANTS FOR 'user'@'%';

# 赋予用户指定数据库远程访问权限
GRANT ALL PRIVILEGES ON test_db.* TO 'user'@'%';

# 赋予用户对所有数据库远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';

# 赋予用户对所有数据库本地访问权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';

# 刷新权限
FLUSH PRIVILEGES;

2. 收回权限

# 收回权限
REVOKE ALL PRIVILEGES ON *.* FROM 'test'@'%';

# 删除本地用户
DROP USER 'user'@'localhost';

# 删除远程用户
DROP USER 'user'@'%';

# 刷新权限
FLUSH PRIVILEGES;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐