1.下载安装包
//mysql下载
https://downloads.mysql.com/archives/community/
//alien下载
http://ftp.de.debian.org/debian/pool/main/a/alien/
//libaio 包下载
https://ubuntu.pkgs.org/18.04/ubuntu-main-amd64/libaio1_0.3.110-5_amd64.deb.html
2. 安装libaio包
//用find命令找mysql的依赖包libaio.so.1,找不到就安装libaio包
find /usr -name libaio.so.1
//安装alien命令包
tar -zxvf alien_8.92.tar
cd alien
sudo ./Makefile.PL
sudo make
sudo make install
//安装libaio包
dpkg -i libaio1_0.3.110-5_amd64.deb
3. 安装jdk1.8
//有网 Ubuntu
apt install openjdk-8-jre-headless
apt install openjdk-8-jdk-headless
//无网
tar -zxvf jdk-8u161-linux-x64.tar.gz
注:vim 命令不能使用的,自个去安装个 vim 或者 使用 gedit 命令,没有权限的在前面加 sudo
export JAVA_HOME = /home/oukele/jdk8/jdk1.8.0_221 ( 这里填的是当前用户所在的目录下的jkd8目录下的解压文件夹路径)
export JRE_HOME = ${JAVA_HOME} /jre
export CLASSPATH = .:${JAVA_HOME} /lib:${JRE_HOME} /lib
export PATH = ${JAVA_HOME} /bin:$PATH
4. Ubuntu - 安装mysql
//解压
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
tar -xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
tar -zxvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.gz
//移动并重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
//创建mysql用户组和用户并修改权限
sudo groupadd mysql
sudo useradd -r -g mysql mysql
//配置my.cnf
[ mysqld]
bind-address= 0.0 .0.0
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
log-error= /data/mysql/mysql.err
pid-file= /data/mysql/mysql.pid
character_set_server = utf8mb4
symbolic-links= 0
explicit_defaults_for_timestamp = true
//进入mysql的bin目录,初始化数据库,并查看记住密码
cd /usr/local/mysql/bin/
sudo ./mysqld --defaults-file= /etc/my.cnf --basedir= /usr/local/mysql/ --datadir= /data/mysql/ --user= mysql --initialize
sudo cat /data/mysql/mysql.err
//启动mysql,不行就重启虚拟机
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
sudo service mysql start
sudo ps -ef| grep mysql
//建立全局的软连接,可以使你不用进入mysql的bin目录下敲命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
5. PC - 安装mysql
//下载mysql安装包( mysql-8.0.28-winx64.zip) 免安装, 解压到某个路径( 如: C:\ environment\ mysql8.0.23)
https://downloads.mysql.com/archives/community/
//配置环境变量
点击我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 新建系统变量( 变量名: mysql 变量值: C:\ environment\ mysql8.0.23)
-> 把新建的变量添加到Path路径 -> 新建( %mysql%\ bin)
//在mysql目录下创建一个ini或cnf配置文件, 配置my.cnf
[ mysqld]
port = 3306
basedir = C:\ environment\ mysql8.0.23
datadir = C:\ environment\ mysql8.0.23\ data
max_connections = 200
max_connect_errors = 10
character-set-server= utf8
default-storage-engine= INNODB
default_authentication_plugin = mysql_native_password
wait_timeout = 2880000
interactive_timeout = 2880000
max_allowed_packet = 2000M
[ mysql]
default-character-set= utf8mb4
[ client]
port = 3306
default-character-set= utf8mb4
[ mysqld]
port = 3306
basedir = C:\ environment\ mysql8.0.23
datadir = C:\ environment\ mysql8.0.23\ data
max_connections = 200
max_connect_errors = 10
character-set-server= utf8
default-storage-engine= INNODB
default_authentication_plugin = mysql_native_password
wait_timeout = 2880000
interactive_timeout = 2880000
max_allowed_packet = 2000M
[ mysql]
default-character-set= utf8mb4
[ client]
port = 3306
default-character-set= utf8mb4
//安装mysql服务并初始化, 记住初始化密码
mysqld --install
mysqld --initialize --console
6. 常见问题
. /mysql - u root - p
## MySQL5 .7 版本使用grant来进行用户授权( 创建一个whsir用户,允许所有IP访问,密码是password)
GRANT ALL PRIVILEGES ON * . * TO 'whsir' @'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
#从MySQL8 版本开始,不能再使用GRANT创建用户,而是要先CREATE USER,然后使用GRANT授权。
CREATE USER 'whsir' @'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'root' @'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
## 适用于MySQL8 也适用于MySQL5 .7
#访问mysql库
use mysql;
#使root能再任何host访问
update user set host = '%' where user = 'root' ;
#刷新
FLUSH PRIVILEGES;
mysql - u root - p
输入密码
查询user: select user, host from mysql. user;
关闭远程连接: update mysql. user set host = "localhost" where user = "root" and host = "%" ;
刷新权限: FLUSH PRIVILEGES;
mysql - u root - p
输入密码
flush hosts;