美文网首页
二进制安装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