美文网首页
二进制安装mysql

二进制安装mysql

作者: later02 | 来源:发表于2020-03-15 17:02 被阅读0次

一 环境准备

1 清理历史环境

是否自动安装了mariadb

检查命令:rpm -qa |grep mariadb

删除命令:yum remove mariadb-libs -v 

2 创建用户和组

创建命令:useradd mysql -s /sbin/nologin

3 创建相关目录  

创建软件目录

mkdir -p /usr/local/database  (已经存在,官方标准,也可以自己创建)

创建数据目录

mkdir -p /data/3306 

创建日志目录

mkdir -p /binlog/3306 

4 设置权限,将创建的用户添加到mysql用户和用户组

chown -R    mysql.mysql   /data /binlog /usr/local/database

二 上传二进制安装文件 

我的电脑是mac,命令如下:

scp -r /Users/luobiao/Downloads/python/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz  root@139.129.93.203:/usr/local/database/

三  安装文件

 直接解压文件 tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

建立一个软链接 ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql

四 设置环境变量

打开配置文件: vi  /etc/profile   写入  export PATH=/usr/local/database/mysql/bin:$PATH

(这里遇到一个问题,:$path写成:path了,导致用不了ls cat各种命令,解决办法 执行export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin后,然后改正确在解决.)

让配置生效:source /etc/profile

检测是否安装成功:mysql -V 

五 初始化系统表

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306 

出现如下日志,表示初始化成功:

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2020-03-15T01:58:34.912905Z 0 [Warning] InnoDB: New log files created, LSN=45790

2020-03-15T01:58:35.042802Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2020-03-15T01:58:35.124624Z 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: 7acb1b1a-6660-11ea-b89b-00163e0477d5.

2020-03-15T01:58:35.134431Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2020-03-15T01:58:35.134883Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

可能出现的问题:

如果出现error,一般是缺少依赖,通过yum install解决。

如果需要再次初始化需要删除数据目录,/data/3306/里面生成的数据文件.否则会报错.

扩展:

初始化的两种方式:

5.7  版本

1):mysqld --initialize   --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306 

这种方式不常用,会产生一个初始化的密码,不能使用,需要修改才能进入mysql,而且会规定3种密码复杂度(包含字母数字特殊字符),长度没有限制,不推荐使用

2)mysqld --initialize-insecure --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306 

常用方式,没有密码,后面密码复杂度根据公司的密码复杂度去自己定义。

5.6版本

/usr/local/database/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306 

六 编写配置文件

vi /etc/my.cnf  

[mysqld]

user=mysql

basedir=/usr/local/database/mysql

datadir=/data/3306

server_id=6

port=3306

socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

保存,退出。

七 准备mysql启动脚本 

进入启动目录 :cd /usr/local/database/mysql/support-files/

拷贝启动文件到etc下:cp /usr/local/database/mysql/support-files/mysql.server  /etc/init.d/mysqld

八 启动mysql

centos6:

service start myqld

contos7:

将msyqld添加至系统管理?

chkconfig  --add mysqld 

启动 systemctl start mysqld 

关闭 systemctl stop mysqld 

重启 systemctl restart mysqld  

九 登陆mysql

没有密码情况:直接mysqld登陆

mysql修改密码

mysqladmin -uroot -p password 密码 

相关文章

网友评论

      本文标题:二进制安装mysql

      本文链接:https://www.haomeiwen.com/subject/ivxnshtx.html