mysql自学之路-01(在linux系统安装mysql8)

1. 进入/opt目录: cd /opt

下载tar包:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

2.在opt目录下创建mysql目录:mkdir mysql

解压: tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C mysql  得到mysql-8.0.11-linux-glibc2.12-x86_64

3.重命名: mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql8

4.创建文件夹data,存储文件

cd /opt/mysql/mysql8/
mkdir ./data

5.创建用户及用户组

# 用户组
groupadd mysql
# 用户 (用户名/密码)
useradd -g mysql mysql

6.授权

chown -R mysql.mysql /usr/local/mysql8.0/ # 亲测

chown -R mysql .
chgrp -R mysql .

7.初始化数据库

# 查看当前所在目录
pwd

# 若显示/opt/mysql/mysql8,请继续执行,否则请先进入此目录/opt/mysql/mysql8

8.初始化 注意查看是否存在相关目录,若不存在,请新建
./bin/mysqld --user=mysql --basedir=/opt/mysql/mysql8/ --datadir=/opt/mysql/mysql8/data/ --initialize 

9.Mysql配置:  vi /etc/my.cnf

[client]

port=3306

socket=/opt/mysql/mysql8/mysql.sock
[mysqld]
port=3306

user=mysql

socket=/opt/mysql/mysql8/mysql.sock

basedir=/opt/mysql/mysql8

datadir=/opt/mysql/mysql8/data

log-error=error.log

# lc-messages-dir=/usr/share/mysql/english
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
# log-error=/var/log/mariadb/mariadb.log
# pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

10. 建立MySQL服务(注意当前路径应该在mysql8.0,即support-files的根目录)

# 添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql # 若mysqld,以下mysql相应的修改mysqld,如下图所示


chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql

11.启动Mysql服务

  1. # 启动: service mysql start;

  2. # 查看启动状态:service mysql status;

  3. ln -s /usr/local/mysql/mysql8.0/bin/mysql /usr/bin

12.登陆Mysql:(登录后只能先修改密码)

# 登陆:mysql -uroot -p

13.克隆当前窗口,查找初始密码

cd /opt/mysql/mysql8/data/

cat error.log

 14.修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

15.授权 root 用户的所有权限并设置远程访问

关键的三个命令:
> mysql>CREATE USER 'root'@'%' IDENTIFIED BY '新密码'; //这个操作是mysql 8.0中得加的
> mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库 
> mysql> FLUSH PRIVILEGES; //需要输入次命令使修改生效  

16.远程登陆

17.发现登陆有问题,是服务器防火墙的问题:

解决无法远程连接CentOS8上的MySQL8数据库方法

方法一:在防火墙设置中手动添加端口号
1.查看CentOS的防火墙状态:(active表示已开启)

systemctl status firewalld.service

在这里插入图片描述
说明:如果关闭防火墙,则直接可以远程连接,但是出于安全考虑不建议关闭防火墙。

2.查看当前防火墙所有开放的端口

firewall-cmd --list-ports

3.添加mysql端口(mySQL默认端口号3306)
firewall-cmd --permanent --zone=public --add-port=3306/tcp
在这里插入图片描述
4.重启防火墙
systemctl restart firewalld.service

5.再次查看所有开放的端口
firewall-cmd --list-ports
在这里插入图片描述

方法一:关闭防火墙

systemctl stop firewalld.service

systemctl status firewalld.service

18.此时即可发现可以远程登录了

19.其他问题,我在设置远程登录设置的时候,误将密码设置成了root,即:CREATE USER 'root'@'%' IDENTIFIED BY 'root';

但是实际我的密码是123456,而CREATE USER 'root'@'%' IDENTIFIED BY 'root';的意思就是我远程登录的时候密码必须是root才能可以登录,但我就是想设置为123456,该怎么办呢?

解决方法:

mysql> alter USER 'root'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION ;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值