一. 下载
https://dev.mysql.com/downloads/mysql/
选择需要的版本下载,我下的图中所示版本,linux系统是centos
二. 安装
用ftp工具传到linux环境上
1.解压缩tar文件
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
2.复制mysql目录到系统的本地软件目录:
cp mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
3 添加系统的mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
4.初始化mysql配置表:
cd /usr/local/mysql
chown -R mysql:mysql ./ //修改当前目录为mysql用户
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库
这个命令和mysql5.7之前的命令不一样了,之前命令是:bin/mysql_install_db --user=mysql,但是之后的版本已经被mysqld --initialize替代
如果出现下面报错:bin/mysqld: error while loading shared libraries: libnuma.so.1: 。。
Centos就yum -y install numactl
就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl
就可以解决这个问题了
再次执行之后成功后出现如下的提示:
2020-03-26T05:59:16.069981Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 31088
2020-03-26T05:59:23.525222Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rq%K-:pqm3Z!
2020-03-26T05:59:29.179164Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server has completed
【注意】:
mysql5.7版本之上会初始化话一个密码,在这里要记住这个初始化密码,在下面初次登录会用上。
5.复制配置文件:
[root@rhel5-32 mysql]# cp support-files/my-default.cnf /etc/my.cnf
【注意】:如果没有my-default.cnf就手动创建一个文件,并且配置权限
vi my-default.cnf
chmod 777 ./my-default.cnf
2
重新执行上面的文件,然后修改/etc/my.cnf文件:
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
#必填项
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
【注意】:如果/usr/local/mysql/目录下没有tmp文件,手动创建,并且配置权限:
mkdir tmp
chmod 777 ./tmp
【注意】 support-files/mysql.server 这个文件就是可以执行的 start stop restart
3.加入开机自启项:
1.将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务
#cp mysql.server /etc/init.d/mysql
#chmod +x /etc/init.d/mysql
2.注册启动服务:
#chkconfig --add mysql
3.查看是否添加成功
[root@rhel5-32 mysql]# chkconfig --list mysql
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4.开启mysql服务:
serivce mysql start
配置环境变量
vi /etc/profile
文件中写入:
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
保存退出之后,让文件生效source /etc/profile
登录并修改密码
mysql -uroot -prq%K-:pqm3Z! -h 127.0.0.1 //后面是系统生成的密码
修改root密码
alter user 'root'@'localhost' identified by '123';
navcat远程连接mysql数据库:
mysql -u root -p
mysql;use mysql;
mysql;select 'host' from user where user='root';
mysql;update user set host = '%' where user ='root';
mysql;flush privileges;
mysql;select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
Navicat连接MySQL8.0版本时 建议升级连接客户端问题的解决
错误:Client does not support authentication protocol requested by server; consider upgrading MySQL client
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '831015';
FLUSH PRIVILEGES;
root是用户名,localhost是ip地址127.0.0.1都是特指本机,mysql_native_password是旧的密码验证机制,
831015是密码,最后别忘了分号;