centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装
mysql官网下载链接:mysql repo下载地址 如下:
右键复制链接,通过wget下载
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
[root@localhost ~]# rpm -ivh mysql80-community-release-el7-1.noarch.rpm
执行结果:
会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
更新 yum 命令
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本
[root@localhost ~]# yum repolist all | grep mysql
可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态
[root@localhost ~]# yum-config-manager --enable mysql80-community
可以编辑 mysql repo文件
[root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo
将相应版本下的enabled改成 1 ,其他版本改成 0 即可
[root@localhost ~]# yum -y install mysql-community-server
修改配置文件:/etc/my.cnf
#添加如下配置:
#只有在安装完成之后,初始化数据库之前,修改my.cnf,然后再初始化数据库才有效
#如果你不在意数据的话直接删除数据
#1 停止MySQL
#2 删除 MySQL的数据 /var/lib/mysql
#3 修改该 lower_case_table_names = 1
#4 启动 mysql
lower_case_table_names = 1
[root@localhost ~]# vim /etc/my.cnf
lower_case_table_names = 1
[root@localhost ~]# systemctl restart mysqld.service
获取初始密码登录mysql
[root@localhost ~]# grep password /var/log/mysqld.log
[root@localhost ~]# mysql -uroot -p
使用初始密码登录mysql ,四个密码最后一个是登陆密码
修改初始密码
mysql> set global validate_password_policy=0; # 只验证长度
mysql> set global validate_password_length=6; # 修改密码长度,默认值是 8 个字符
mysql> alter user user() identified by "123456"; # 修改登陆密码
mysql> show databases;
CentOS7默认使用的是firewall作为防火墙,我这里改为习惯常用的iptables防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# systemctl mask firewalld.service
[root@localhost ~]# yum -y install iptables-services
[root@localhost ~]# systemctl enable iptables.service
[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# vim /etc/sysconfig/iptable
在倒数第三行上增加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
[root@localhost ~]# systemctl start iptables.service
systemctl start mysqld
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"登录mysql数据库 执行如下命令:
mysql> update user set host='%' where user='root';
mysql> select host, user, authentication_string, plugin from user;
赋予任何主机访问数据的权限
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
mysql> grant all privileges on *.* to 'myuser'@'%'identified by 'mypassword' with grant option;
mysql> grant all privileges on *.* to 'myuser'@'192.168.199.153'identified by 'mypassword' with grant option;
下载mysql8的地址
直接点击我红色记号笔圈出的超链接,这句话的中文意思是:不用了,直接开始下载
如解压位置为F:\mysql
就在此处手动创建my.ini文件
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
#设置mysql的安装目录
basedir=F:\mysql\mysql-8.0.11-winx64
#设置mysql数据库的数据的存放目录
datadir=F:\mysql\mysql-8.0.11-winx64\data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
用管理员身份运行命令行,进入安装MySQL下的bin目录输入
mysqld --initialize-insecure
net nelpmsg 3534 # 以获得更多的帮助
mysqld --initialize --console # 注意!执行输出结果里面有一段
在命令行下执行。
安装服务:
mysqld -install
net start mysql
net stop mysql
mysqld -remove
mysql -u root