• 当前位置: 首 页 > 教育百科 > 学历/技能 > 正文

    Linux 安装 Mysql5.7.20 版本

    :2022年01月22日
    CSDN

    1.服务器环境CentOS 7.22.移除 mariadb操作之如果有默认数据库马瑞 DB 前先移除 mariadbyum -y remove mari*rm -rf /var/lib/mysql/*3.下载tar包mysql5.7 的 tar 包:下载地址:https://dev.mysql.com/g...

    1.服务器环境

    CentOS 7.2

    2.移除 mariadb

    操作之如果有默认数据库马瑞 DB 前先移除 mariadb

    yum -y remove mari*

    rm -rf /var/lib/mysql/*

    3.下载tar包

    mysql5.7 的 tar 包:

    下载地址:

    https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

    4.使用 ftp 工具把 tar 包传输到 usr/local/目录下

    6cbfd295c9ff94a61d5c56bf1acf9082.jpg

    推荐工具 Xftp 下载地址

    4.1解压 tar 包

    tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

    4.2更改文件名称

    mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql

    5.创建用户和用户组并赋予权限

    groupadd mysql

    useradd -r -g mysql mysql

    chown -R mysql:mysql mysql/

    6.安装和初始化数据库

    cd mysql

    ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

    如果无错误继续,出现如下错误的

    0722eb1b70d81871c2c3ad2fceaf44e7.jpg

    报错信息:bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    解决办法:

    yum update

    yum install -y libaio

    **

    7.获取初始登录密码

    执行上一步操作后会在命令行输出 root@localhost: gFamcspKm2+u localhost: 后面的这一串便是你首次登陆 mysql 需要的初始密码

    如下图:

    de037d2c60596fea04fd024e8b6e7cd8.jpg

    配置 my.cnf

    vim /etc/my.cnf

    下面的粘贴进去

    [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

    8.启动服务

    cd /usr/local/mysql/bin/

    ./mysqld_safe --user=mysql &

    9.设置开机启动

    进入 /usr/local/mysql 文件夹

    cd /usr/local/mysql/support-files

    cp mysql.server /etc/init.d/mysql

    10.使用 service mysqld 命令启动/停止服务

    service mysql start/stop/restart

    实在不行,用这个:

    sudo ./support-files/mysql.server start

    注意,5.7 版本往上修改密码:

    mysql -uroot -p你的密码

    use mysql

    update mysql.user set authentication_string=password('123456') where user='root'

    全局使用 mysql

    ln -s /usr/local/mysql-5.7.22/bin/mysql /usr/bin

    新建用户远程连接 mysql 数据库

    grant all on *.* to admin@'%' identified by '123456' with grant option;

    flush privileges;

    允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

    注意admin账户不一定要存在。

    支持 root 用户允许远程连接 mysql 数据库

    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

    flush privileges;

    11.异常

    11.1解决“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111)”

    rm -rf /tmp/mysql.sock

    cd /usr/local/mysql

    sudo ./support-files/mysql.server start

    mkdir /var/run/mysqld/

    chown -R mysql.mysql /var/run/mysqld/

    mysql> use mysql

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    SET PASSWORD = PASSWORD('123456');

    Query OK, 0 rows affected, 1 warning (0.00 sec)

    启动异常[“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)”]

    解决办法:mysql 服务未启动,启动就好了.

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    alter user user() identified by "123456";

    -[x]服务器重启后连接 mysql 出现 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/data/mydata/mysql.sock’ (111)类似

    [mysqld]

    character_set_server=utf8

    init_connect='SET NAMES utf8'

    basedir=/usr/local/mysql-5.7.22

    datadir=/usr/local/mysql-5.7.22/data

    socket=/tmp/mysql.sock

    log-error=/var/log/mysqld.log

    pid-file=/data/mydata/mysqld.pid

    bind-address=0.0.0.0

    socket = /data/mydata/mysql.sock

    [client]

    socket = /data/mydata/mysql.sock

    把 mysqld.pid 的文件换个其他文件夹就行了

    11.2 异常

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

    在初始化安装时增加

    --explicit_defaults_for_timestamp=1

    ————————————————

    版权声明:本文为CSDN博主「公众号:Java Pro」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/fine_cui/article/details/111397398

    [编辑:王振袢 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: 服务器 环境 CentOS 7.22. 移除
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证