• CentOS7下安装mysql5.6修改字符集为utf8并开放端口允许远程访问


    前言

    mysql最初的免费战略已经深入人心,感觉自己一直都在用mysql。今天在centos7下装mysql。发现原来centos下默认没有mysql,因为开始收费了,取而代之的是另一个mysql的分支mariadb,这个是mysql创始人重新主导的分支。But, whatever, I want mysql. 所以,老老实实的卸载mariadb,安装mysql。

    卸载mariadb

    #列出所有被安装的rpm package 
    rpm -qa | grep mariadb
    
    #卸载
    rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
    错误:依赖检测失败:
    libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
    
    #强制卸载,因为没有--nodeps
    rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
    

    安装mariadb

    centos下yum暂时没有mysql-server直接安装包;
    MariaDB是MySQL社区开发的分支,也是一个增强型的替代品.

    yum -y install mariadb-server mariadb mariadb-devel
    systemctl start mariadb
    systemctl enable mariadb
    mysql_secure_installation
    firewall-cmd --permanent --add-service mysql
    systemctl restart firewalld.service
    iptables -L -n|grep 3306
    

    安装mysql

    centos7中默认没有mysql的yum源,需要重新下载:

    1.下载mysql的repo源

    $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    

    2.安装mysql-community-release-el7-5.noarch.rpm包

    $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
    

    3.安装mysql

    $ sudo yum install mysql-server
    

    4.重置密码

    需要先登录:

    $ mysql -u root
    

    我使用的root,但也报错了:

    ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

    $ sudo chown -R openscanner:openscanner /var/lib/mysql

    重启mysql service:

    $ service mysqld restart
    

    接下来设置密码:

    $ mysql -u root
    
    mysql > use mysql;
    
    mysql > update user set password=password(‘123456‘) where user=‘root‘;
    
    mysql > exit;
    

    开放3306端口

    由于centos7使用firewalld而不是iptables,所以:

    #开放3306
    firewall-cmd --permanent --add-port=3306/tcp 
    
    systemctl restart firewalld.service
    
    #查看端口是否开放
    firewall-cmd --query-port=3306/tcp
    
    #list
    firewall-cmd --list-all
    
    

    允许mysql远程访问

    mysql默认是不允许远程访问的.
    mysql -u root -p xxxx

    mysql>use mysql
    mysql>grant all privileges on *.* to 'root'@'%' identified by 'xxxxx(密码)';
    mysql>flush privileges;
    

    参考

    CentOS 7 用yum安装 MySQL
    Centos 7 开启端口
    centos7通过yum安装mysql,并授权远程连接

  • 相关阅读:
    爱情七十八课,闲了就“犯贱”
    阿里巴巴中文站的CSS设计规则(转)
    爱情八十一课,可预测的分手
    [性格][管理]《九型人格2》 唐·理查德·里索(美)、拉斯·赫德森(美)
    爱情八十二课,爱情三国杀
    爱情七十九课,不爱权力大
    [心理学]《爱情心灵安全岛》 四四
    一些你不知道的囧知识,保证让你崩溃
    爱情七十四课,我们的意义
    爱情七十六课,门当户对
  • 原文地址:https://www.cnblogs.com/woshimrf/p/5880098.html
Copyright © 2020-2023  润新知