安装之前如果本机的mysql3306端口已经占用,请参考我安装第二台mysql的文章
正在写,写完贴一下链接,没贴的话,看下一篇就好了
一定要先先看一下当前系统版本再下载对应的包,我开始没看,然后就一堆麻烦:
cat /proc/version
Linux version 3.10.0-862.14.4.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Sep 26 15:12:11 UTC 2018
64位就下载对应64位
1.先下载
可以去官网直接下载,
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
也可以
使用wget从官网下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
我是直接从官网下载的,因为我安装的服务器之前已经安装了一个mariadb了,所以我现在使用另外一个端口3308
将下载的文件移到/usr/local 目录
先安装第一个:
cd /usr/local
##解压
tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
#重命名 mysql
mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql
cd mysql/
#新建data目录
mkdir data/
#新建mysql用户、mysql用户组
groupadd mysql
#给mysql添加用户 为 mysql
useradd mysql -g mysql
#将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql:mysql /usr/local/mysql/
chmod -R 755 /usr/local/mysql/
安装依赖包
yum -y install make gcc-c++ cmake bison-devel ncurses ncurses-devel libaio-devel
vi /etc.my.cnf
#修改一下配置文件:
#了解一下mysql配置文件的加载顺序,给自己mark下,便于调试和找问题: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/tmp/mysql.sock
user=mysql
port = 3306[client]
socket = /usr/local/mysql/tmp/mysql.sock
default-character-set=utf8[mysqld_safe]
log-error=/usr/local/mysql/mysql-log/error.log
pid-file=/usr/local/mysql/mysql.pid#ls
bin data docs include lib LICENSE LICENSE.router man README README.router run share support-files var#如果/usr/local/mysql/目录下没有tmp文件,手动创建,并且配置权限:
mkdir tmp
chmod 777 ./tmpmkdir mysql-log
chmod 777 ./mysql-log
cd mysql-log
touch error.log
#初始化数据库
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#这个命令和mysql5.7之前的命令不一样了,之前命令是:bin/mysql_install_db --user=mysql,但是之后的版本已经被#mysqld --initialize替代
#mysql5.7版本之上会初始化话一个密码,在这里要记住这个初始化密码 rhAAkhCuw1;*,在下面初次登录会用上。
[root@iZ mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2019-09-16T02:38:09.105961Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2019-09-16T02:38:09.106039Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.17) initializing of server in progress as process 1419
2019-09-16T02:38:14.044639Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rhAAkhCuw1;*
2019-09-16T02:38:15.459067Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.17) initializing of server has completed
[root@iZ mysql]#
#将mysql加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#开机自启
chkconfig mysql on
配置全局环境变量
编辑 / etc/profile 文件
# vi /etc/profile
在 profile 文件底部添加如下两行配置,保存后退出
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH
Esc :wq保存退出, 设置环境变量立即生效
source /etc/profile
#mysql 开启
service mysql start
如图,可以进行访问mysql
mysql -uroot -p -h 127.0.0.1
#输入上面记住的初始密码:rhAAkhCuw1;*
alter user 'root'@'localhost' identified by '111111';
flush privileges;
如图,进去需要先重置一下root的密码
远程连接用户设置:
mysql -u root -p
use mysql;
select 'host' from user where user='root';
update user set host = '%' where user ='root';
flush privileges;
select 'host' from user where user='root';
然后把防火墙3306端口打开,使用navcat远程连接
使用navcat远程连接,如图,连接成功,安装完成