centos7 yum安装 mysql 5.6

    xiaoxiao2022-06-29  35

    Centos7 的 yum 源中默认是没有 mysql 的。要想使用 yum 安装 mysql 5.6 ,需要先下载安装 mysql 的 repo 源。

    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

    安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。 3、安装 mysql

    # sudo yum install mysql-server

    4、重置 mysql 密码

    # mysql -u 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 mysqld restart

    然后邓璐重置密码:

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

    5、开放3306端口 编辑 iptables 文件,如果没有找到,则需要安装 iptables,因为 centos7 默认使用的是 firewall 作为防火墙。 5.1 关闭 firewall: 停止 firewall

    # systemctl stop firewalld.service

    禁止 firewall 开机启动

    # systemctl disable firewalld.service

    5.2 安装 iptables 防火墙,安装完成之后在 /etc/sysconfig 目录下有 iptables 文件 安装

    # yum install iptables-services

    编辑防火墙配置文件

    # vi /etc/sysconfig/iptables

    添加开放端口3306的信息

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    保存退出,重启防火墙

    # systemctl restart iptables.service

    设置防火墙开机启动

    # systemctl enable iptables.service

    mysql 数据库安装完成,可以使用客户端远程测试连接。 备注: 如果客户端连接数据库报错:类似

    1130: host is not allowed to connect to mysql server

    说明 mysql 数据库不允许从远程登录,只能在 localhost,添加 ‘%’ 即可。

    # mysql -u root -p

    登录mysql

    mysql > use mysql; mysql > update user set host = '%' where user = 'root';

    修改mysql可以本地访问

    update user set host = 'localhost' where user = 'root' and host = '127.0.0.1';

    如果报错,类似

    ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

    然后产看数据库的 host 信息,

    mysql > select host form user where user = 'root'; +-----------------------+ | host | +-----------------------+ | % | | 127.0.0.1 | | localhost.localdomain | +-----------------------+ 3 rows in set (0.00 sec)

    host 已经有了 % 这个值。直接运行最后一个命令:

    mysql > flush privileges;

    客户端连接数据库,成功! 6、修改 mysql 数据库字符集 查看数据库字符集

    mysql > show variables like '%character%';

    结果显示:其中字符集 为 latin1。

    +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+

    修改 my.cnf 文件,注意:修改之前,备份 my.cnf

    # vi /etc/my.cnf

    在 [mysqld] 下添加代码

    socket = /mysqldata/mysql/mysql.sock **character-set-server=utf8**

    7、设置 mysql 数据库表不区分大小写 在 [mysqld] 下添加代码

    lower_case_table_names=1

    8、跳过数据库密码登陆,在 /etc/my.cnf中增加

    [mysqld] skip-grant-tables
    转载请注明原文地址: https://ju.6miu.com/read-1125279.html

    最新回复(0)