- 下载mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
可能会出现以下问题
--2021-09-27 14:44:01-- https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11 Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz [following] --2021-09-27 14:44:02-- https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz Resolving cdn.mysql.com (cdn.mysql.com)... 104.85.245.54 Connecting to cdn.mysql.com (cdn.mysql.com)|104.85.245.54|:443... connected. ERROR: cannot verify cdn.mysql.com's certificate, issued by ‘/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018’: Issued certificate not yet valid. To connect to cdn.mysql.com insecurely, use '--no-check-certificate'
远程调用下载文件直接用wget就可以,一般文件路径类型是http。如果有遇到是https就会下载出错。
只需要在wget后面加上–no-check-certificate就可以,需要一个认证下载指令而已。
wget --no-check-certificate https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
- 解压安装包
tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
- 移动安装包到/usr/local/,为了方便管理。如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行。
# 移动并重名了为mysql mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
- 创建mysql储存目录
# 我们就创建在mysql目录下,当然你可以在其他位置 mkdir /usr/local/mysql/data
- 更换/usr/local/mysql目录所属的用户组和用户,以及修改权限
# 先检查mysql用户和用户组是否存在,如果不存在需要我们手动创建 cat /etc/group | grep mysql cat /etc/passwd |grep mysql # 创建mysql用户以及用户组 groupadd mysql useradd -r -g mysql mysql # 更改目录所属,与权限 chown -R mysql:mysql /usr/local/mysql chmod -R 755 /usr/local/mysql
- 编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
cd /usr/local/mysql/bin ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
我这里初始化的时候报错了
[root@fyh bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
百度了一下,可能是链接库文件没有安装
# 检查一下libaio是否安装 rpm -qa|grep libaio # 没有安装就yum安装一下 yum install libaio-devel.x86_64
安装完libaio后再初始化一次
[root@fyh bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql2021-09-27T07:15:36.348116Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2021-09-27T07:15:36.615283Z 0 [Warning] InnoDB: New log files created, LSN=45790 2021-09-27T07:15:36.656428Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2021-09-27T07:15:36.727150Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b64b0ffc-1f62-11ec-82fa-000c29e06742. 2021-09-27T07:15:36.727995Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2021-09-27T07:15:36.729169Z 1 [Note] A temporary password is generated for root@localhost: l:a7RtoQdsRu
最后一行会出现root@localhost: l:a7RtoQdsRu字段,后面的l:a7RtoQdsRu就是零时密码
修改配置文件
vim /etc/my.cnf [client] port = 3306 socket = /tmp/mysql.sock [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid #不区分大小写 lower_case_table_names = 1 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION max_connections=5000 default-time_zone = '+8:00'
手动创建一下日志文件
cd /var/log/ touch mysqld.log chmod 777 mysqld.log chown mysql:mysql mysqld.log
配置进程文件
cd /var/run/ mkdir mysqld chmod 777 mysqld cd mysqld vim mysqld.pid chmod 777 mysqld.pid chown mysql:mysql mysqld.pid
- 启动服务,修改密码
# 启动mysql /usr/local/mysql/support-files/mysql.server start # 进入mysql /usr/local/mysql/bin/mysql -uroot -p 提示输入密码:%:i>DL:_+6UK # 这里输入刚刚安装时出现的零时密码 # 初始化后登录mysql必须要修改密码 set password for root@localhost = password('123456');
- 开启远程访问
grant all privileges on *.* to 'root'@'%' identified by '123456'; flush privileges; # 记得关闭防火墙,或者放行mysql绑定的端口
- 将mysql添加到系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld # 开机自启动 chkconfig --add mysqld # 启动mysql service mysqld start
- 添加环境变量
vim /etc/profile export PATH=/usr/local/mysql/bin:$PATH :wq source /etc/profile # 加载环境变量后就可以直接使用mysql进入了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)