注意事项提前说明:
1:吾日三省吾身,防火墙关了没?(万一安装好了的MySQL,链接不上半天没有想到是防火墙在作祟)标点符号中英文搞错了没?空格注意了吗?版本细节注意了吗(大版本一般没有那么苛刻)?
2:教程环境:
查看centos版本号:cat / etc / centos-release,我的是(CentOS Linux版本7.5.1804(core))mysql8.0.13(注意tar.xz格式是最新高强度压缩格式,可以分两次解压,或者一步到位)
电脑操作系统win10
3:细枝末节百度即可,一般按照教程问题不大,这是为最新版写的教程,所以注意版本问题。
4:防火墙相关命令
查看
[root@localhost ~]# systemctl status firewalld
关闭
[root@localhost ~]# systemctl stop firewalld
禁止开机自动启动
[root@localhost ~]# systemctl disable firewalld
允许开机启动
[root@localhost ~]# systemctl enable firewalld
教程开始------------------------------------------------ -------(安装目录可以自行修改)------------------------------------ -------------------------- -
前期说明:网上很多教程安装目录是在/usr/local/mysql和对应的数据库的目录的/usr/local/mysqldb之类的目录,那是官方推荐,并且配置也是默认在那个安装目录的,所以,如果按照官方推荐的问题不大,随便百度,但是我是有强迫症的,非得安装在自定义的路径心里才舒坦,原理差不多其实,好了,不啰嗦了(能用xshlle和信息xftp工具操作尽量不用命令)。
1:创建目录,并上传安装包(如:/opt/software/MySQL)
2:检查7.5的默认安装:
[root@localhost ~]# rpm -qa | grep mariadb
3:卸载默认(一般是安装了这个版本的)
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
4:安装依赖:
[root@localhost ~]# yum install libaio
5:授权安装目录
[root@localhost ~]# chmod -R 777 /opt/software/MySQL
6:进入安装包目录解压
[root@localhost ~]# cd /opt/software/MySQL
root@localhost MySQL]# xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
执行好后,继续解压
[root@localhost MySQL]# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
7:通过采用xFTP进入/opt/software/MySQL并且把名字改短一点,比如改成mysql的就行了,并对其路径授权
[root@localhost MySQL]# chmod -R 777 /opt/software/MySQL/mysql
8:创建数据库存放路径(fxtp手动建就行了)并授权
[root@localhost MySQL]# chmod -R 777 /opt/software/MySQL/mysqldb
9:创建用户组
[root@localhost MySQL]# groupadd mysql
10:一个不能登录的用户(我也不清楚为什么怎么叫)
[root@localhost MySQL]# useradd -r -g mysql -s /bin/false mysql
11:加入到用户组:
[root@localhost MySQL]# chown -R mysql:mysql ./
12:进入etc /(在外面新建my.cnf,通过ftp传输进去)
配置文件,内容如下,注意两个路基(安装软件路径和数据库存储路径)为自己安装路径就行的
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/opt/software/MySQL/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/software/MySQL/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
13:进入bin目录
[root@localhost MySQL]# cd /opt/software/MySQL/mysql/bin
执行命令:。
[root@localhost bin]# ./mysqld --initialize --console
备注:如果是云服务器,比如我的是百度云服务器此时报错
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
那么先执行以下命令(其他方案行不通就使用它吧):
apt-get install numactl
apt-get install libaio-dev
(root @ localhost:7gsa9s,,1#,S这是临时密码,每个人的不尽相同,先记住)
14:进入
[root@localhost bin]# cd /opt/software/MySQL/mysql/support-files
15:启动(执行一般会报错以下2个错,别急):
[root@localhost support-files]# ./mysql.server start
解决办法
解决授权
[root@localhost support-files]# cd /usr/bin
[root@localhost bin]# sudo ln -s /opt/software/MySQL/mysql/bin/my_print_defaults
[root@localhost bin]#chmod -R 777 /opt/software/MySQL/mysqldb
16:MySQL加入系统进程中(特别说明:该步骤就是设置开机自启动,验证开机是否启动,最好是需要关闭客户机,就是需要关闭虚拟机,然后重新连接,输入[root@localhost ~]# service mysqld status 查看是否开启,由于教程暂未结束,最好结束后再测试开机自启动是否成功!),命令如下
[root@localhost bin]# cd /opt/software/MySQL/mysql/support-files
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
[不重要的声明:需要授权开机自启动路径,不然下次开机用service mysqld status 查看状态时会报 MySQL is not running, but PID file exists这个错误,(意思是:进程在,但是没有运行,一般相当于可以看VIP视频,但是得充钱成为会员,那么就可以看了,说白了就是需要授权)启动时不要使用service mysql start,因为启动不是这样启动,会报Redirecting to /bin/systemctl start mysql.service叫你用/bin/systemctl start mysql.service命令手动启动(当然如果service mysqld status查看到状态是SUCCESS! MySQL running (1605)的情况就不需要手动启动这个/bin/systemctl start mysql.service命令了,退出历史舞台了)]步骤如下:
授权自启动目录权限命令
[root@localhost support-files]# chmod 777 /etc/rc.d/init.d/mysqld
顺便看一些自启动清单,看到一列有mysqld就ok,右边的开呀关呀不管它
[root@localhost support-files]# chkconfig --list
17:重启服务的的mysqld重启(没有配置环境变量的要在该目录下执行命令才行,不多解释)
[root@localhost support-files]# service mysqld restart
18:修改随机登陆密码
进入目录
[root@localhost support-files]# cd /opt/software/MySQL/mysql/bin
启动
[root@localhost bin]# ./mysql -u root -p
输入密码(上文提过叫你记住的):7gsa9s,,1#,S(手敲,或者复制到Xshell5版本的底部框应该也可以)
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '1234';
先睹为快,看法数据库,执行以下SQL
mysql> show databases;
看了几张表后先退出
mysql> quit;
关于安装mysql8的教程结束了,但是别高兴太早,还有点小问题一并解决了
19:配置环境变量(/etc/profile文件里添加)
#配置mysql环境变量
export PATH=$PATH:/opt/software/MySQL/mysql/bin
并使其生效
[root@localhost etc]# source /etc/profile
从此时开始,在任意目录都可以执行MySQL了操作了(比如随便切换个路径直接执行以下命令,并且不需要./)
[root@localhost software]# mysql -u root -p
输入新密码, 就可以写SQL语句了
20:首先设置支持远程登录,依次执行一下下面的语句
mysql> use mysql;
mysql> update user set host = '%' where user = 'root' and host='localhost';
mysql> select host, user from user;
mysql> FLUSH PRIVILEGES;
设置密码
mysql> update user set user.Host='%'where user.User='1234';
mysql> quit;
21:最后重启,执行SQL,显示
[root@localhost bin]# cd /opt/software/MySQL/mysql/support-files
[root@localhost support-files]# service mysqld restart
控制台里显示
Shutting down MySQL... SUCCESS!
Starting MySQL. SUCCESS!
22:mysql8安装和连接数据库教程彻底结束
————————————————
版权声明:本文为CSDN博主「长草颜团子-张晓祥」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wozniakzhang/article/details/84256090