一、官网下载MySQL-5.7.37
1、执行以下命令查看,查看系统版本
$ cat /proc/version #查看系统版本等信息
2、进入mysql官网(MySQL :: Download MySQL Community Server)找到对应的社区通用版 MySQL Community Server
3、复制下载地址,然后终端通过 wget 进行下载,例如:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
1、解压文件,并进行重命名
user002@shiyan:~/apps$tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /home/user002/app
user002@shiyan:~/apps$ mv mysql-5.7.37-linux-glibc2.12-x86_64/ mysql
2、编辑my.cnf配置文件,放在当前mysql安装目录下,依次执行以下命令
user002@shiyan:~/apps$ cd mysql/ #进入安装目录 user002@shiyan:~/apps/mysql$ vim my.cnf #编辑配置文件
3、编辑my.cnf文件,我这里mysql的路径是/home/user002/apps/mysql
,需根据自己的路径进行修改
[client] port=3306 #服务端口 socket=/home/user002/apps/mysql/mysql.sock #指定套接字文件 [mysqld] port=3306 #服务端口 basedir=/home/user002/apps/mysql #mysql安装路径 datadir=/home/user002/apps/mysql/data #数据目录 pid-file=/home/user002/apps/mysql/mysql.pid #指定pid文件 socket=/home/user002/apps/mysql/mysql.sock #指定套接字文件 log_error=/home/user002/apps/mysql/error.log #指定错误日志 server-id=100 #Mysql主从唯一标识
1、安装:依次执行以下命令,指定配置文件安装并初始化mysql,没有报错即安装成功
$ cd bin $ ./mysqld --defaults-file=/home/user002/apps/mysql/my.cnf --initialize --user=user002 --basedir=/home/user002/apps/mysql --datadir=/home/user002/apps/mysql/data #安装并初始化mysql # 初始化 过程中 ,如果弹出以下错误
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory # 安装 libaio1 即可
$ sudo apt-get install libaio1
2、启动:依次执行以下命令,没有报错并能成功监听3306端口即表示启动成功
$ ./mysqld_safe --defaults-file=/home/user002/apps/mysql/my.cnf --user=user002 & #启动mysql $ netstat -tln | grep 3306 #查看是否成功监听3306端口
1、获取初始密码,初始密码在error.log日志文件内,执行以下命令
less error.log | grep root@localhost
2、登录mysql,直接输入登录命令 bin/mysql -u root -p
有可能会报以下错
上图错误表示mysql没有找到/tmp/mysqk.sock
文件
有两种解决方法
1、如果本机上没有其他数据库,可以通过软连接方式将寻找sock文件的路径指向我们mysql安装目录下的sock文件 (不建议)
2、直接指定mysql.sock文件启动,执行以下命令:
./mysql -u root -p -S /home/user002/apps/mysql/mysql.sock
3、成功登入mysql后,修改登录密码,执行以下sql语句
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)