MySQL安装
下载安装
这里是CentOS7_64操作系统,所以我采用rpm包进行安装
下载:https://dev.mysql.com/downloads/mysql/
这里最好是右键复制链接之后采用迅雷进行下载,速度很快
移除mariadb
安装之前先检测有没有mariadb
,如果有则移除,执行如下命令
# 查看,我这里显示有
[root@iz2zehvxttbua2f45dp7ihz java]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
# 接着使用下面命令进行移除
[root@iz2zehvxttbua2f45dp7ihz java]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
# 再次查看有没有,没有则表示移除干净了
[root@iz2zehvxttbua2f45dp7ihz java]# rpm -qa | grep mariadb
上传安装文件
我们使用cd名跳转到/usr/local
目录下,并执行mkdir mysql
命令,创建mysql
目录并进入
[root@iz2zehvxttbua2f45dp7ihz java]# cd ..
[root@iz2zehvxttbua2f45dp7ihz local]# ls
[root@iz2zehvxttbua2f45dp7ihz local]# mkdir mysql
[root@iz2zehvxttbua2f45dp7ihz local]# cd mysql
这里建议使用ftp上传,安装xftp或者其他ftp工具,使用ftp连接后进行上传,上传到/usr/local/mysql
目录
查看文件目录位置及文件信息
解压安装
执行解压命令进行解压
[root@iz2z7ihz mysql]# tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
执行安装命令进行安装
安装common
# 命令:rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force [root@iz2zehvxttbua2f45dp7ihz mysql]# rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force
安装libs
# 命令:rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force [root@iz2zehvxttbua2f45dp7ihz mysql]# rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force
安装client
# 命令:rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force [root@iz2zehvxttbua2f45dp7ihz mysql]# rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
安装server
# 命令:rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force [root@iz2zehvxttbua2f45dp7ihz mysql]# rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force
查看已安装的包
[root@iz2zehvxttbua2f45dp7ihz mysql]# rpm -qa | grep mysql mysql-community-libs-8.0.16-2.el7.x86_64 mysql-community-server-8.0.16-2.el7.x86_64 mysql-community-common-8.0.16-2.el7.x86_64 mysql-community-client-8.0.16-2.el7.x86_64
初始化
通过以下命令完成mysql初始化操作
mysqld --initialize
如果报如下错误信息:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
则安装下
libaio.so.1
包# 方案1 yum install -y libaio # 方案2,如果方案1安装后,继续初始化mysql没成功,则执行该方案 yum install -y libaio.so.1
授权服务防火墙配置
#给mysql目录授权给mysql组合mysql用户,该步骤一般不用操作,我们使用的root用户拥有所有权限, $ chown mysql:mysql /var/lib/mysql -R; # 启动mysql服务 systemctl start mysqld.service; # 配置开机启动 $ systemctl enable mysqld;
查看数据库默认密码
# 该密码为随机生成kQ*q9a1eQpZq [root@sdfsdf mysql]# cat /var/log/mysqld.log | grep password
拿到查询出的密码进行数据库的登录
mysql -u root -p # 然后将密码复制粘贴过来,密码不显示,直接回车登录即可
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后退出以修改后的密码重新登录
授权远程访问
create user 'root'@'%' identified with mysql_native_password by '123456'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
修改加密规则,目前可视化工具如Navicat普遍只支持MySQL5.X,所以我们需要调整8.0的加密规则
-- 修改命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; -- 刷新权限 flush privileges;
- 执行
exit
退出mysql控制台 - 此时你采用
Navicat
等可视化客户端是无法连接该服务的,因为端口未对外开放
防火墙配置
本地虚拟机需要开启防火墙,CentOS6采用的iptables,而CentOS7采用的是systemctl,所以下面我们采用CentOS7的配置
#查看防火墙状态 $ systemctl status firewalld #启动防火墙,防火墙启动后,除了22端口对外能够访问,其他端口均不能使用,所以需要添加 $ systemctl start firewalld #添加端口 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=6379/tcp --permanent #重新加载 $ firewall-cmd --reload
查看mysql配置文件
# 默认的配置文件为:/etc/my.cnf $ cat /etc/my.cnf
注意
- Linux下的MySQL数据库大小写敏感,所以SQL语句中的表名区分大小写
忽略大小写配置
$ vim /etc/my.conf [mysqld] lower_case_table_names=1
查看进程语句
$ ps -ef | grep mysql